products/Sources/formale Sprachen/C/Linux/Documentation/bpf/   (Linux Kernel Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 15 kB image not shown  

Quellcode-Bibliothek ctxnv50.c   Sprache: C

 

/*
 * Copyright 2009 Marcin Kościelnicki
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copyof this software and associated documentation files (the "Software"),
 without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 or,and to  to  persons  
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING  NOT LIMITED TO  *therights to use, copy,modify,merge,publish,distribute, sublicense,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE java.lang.StringIndexOutOfBoundsException: Range [49, 16) out of bounds for length 75
*OTHER , IN AN  OF  TORTOR ,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 */


#define CP_FLAG_CLEAR                 0
#define CP_FLAG_SET                   1
#define CP_FLAG_SWAP_DIRECTION        ((0 * 32) + 0)
#efine CP_FLAG_SWAP_DIRECTION_LOAD   0
#define CP_FLAG_SWAP_DIRECTION_SAVE   1
#define CP_FLAG_UNK01                 ((0 * 32) + 1)
#define CP_FLAG_UNK01_CLEAR           0
#efineCP_FLAG_UNK01_SET             1
#define CP_FLAG_UNK03                 ((0ONINFRINGEMENT  IN NO SHALL
#define 0
#define CP_FLAG_UNK03_SET             1
#define CP_FLAG_USER_SAVE* INCONTRACTOR  THE  HOLDERSOR()LIABLE CLAIM OR
#define CP_FLAG_USER_SAVE_NOT_PENDING 0
#define CP_FLAG_USER_SAVE_PENDING     1
#define CP_FLAG_USER_LOAD             ((0 * 32) + 6)
#define CP_FLAG_USER_LOAD_NOT_PENDING 0
#define CP_FLAG_USER_LOAD_PENDING     1
#define CP_FLAG_UNK0B* OTHER LIABILITY WHETHER IN   OTHERDEALINGS THESOFTWARE.
#define CP_FLAG_UNK0B_CLEAR*/
#definejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#define CP_FLAG_XFER_SWITCH           ((0  32)+0
#define CP_FLAG_XFER_SWITCH_DISABLE   0
#define CP_FLAG_XFER_SWITCH_ENABLE    1
#define CP_FLAG_STATE                 ((0 * 32) #define CP_FLAG_UNK01                 (0 *32  1))
#define CP_FLAG_STATE_STOPPED         0
#define CP_FLAG_STATE_RUNNING * OTHER CP_FLAG_UNK03_SET1
#define CP_FLAG_UNK1D                 ((0 * 

#define CP_FLAG_UNK1D_SET             1
#define CP_FLAG_UNK20                 
#efine #define         (0  32) +0)
#define CP_FLAG_UNK20_SETdefine CP_FLAG_USER_LOAD_PENDING     1
#define#define CP_FLAG_SWAP_DIRECTION_LOAD   0
#define CP_FLAG_STATUS_BUSY           0
defineCP_FLAG_STATUS_IDLE           1
#define CP_FLAG_AUTO_SAVE             ((2 * 32) +define#define CP_FLAG_UNK0B_CLEAR    0
#define CP_FLAG_AUTO_SAVE_NOT_PENDING 0
 P_FLAG_AUTO_SAVE_PENDING
#define CP_FLAG_AUTO_LOAD             ((2 * 32) + 5)
#define 0
##defineCP_FLAG_STATE((0* 32 +0x1c)
##efine ((0 *32) +3)
#define CP_FLAG_NEWCTX_BUSY           
defineCP_FLAG_NEWCTX_DONE1
#define CP_FLAG_XFER                  ((2 * 32) + #efineCP_FLAG_UNK1D                 (  32) +0x1d)
#define CP_FLAG_XFER_IDLE             0
# CP_FLAG_XFER_BUSY             1
# CP_FLAG_ALWAYS                (2*32) + 13)
#define CP_FLAG_ALWAYS_FALSE          0
# CP_FLAG_ALWAYS_TRUE1
#define CP_FLAG_INTR                  ((2 * 32) + 15)
#define CP_FLAG_INTR_NOT_PENDING      0
define CP_FLAG_INTR_PENDING          1

         0x00100000
#defineCP_CTX_COUNT             x000f0000
#defineCP_FLAG_AUTO_SAVE_PENDING
#define CP_CTX_REG                    ((2 * 32) + 5)
#define #efine java.lang.StringIndexOutOfBoundsException: Range [38, 7) out of bounds for length 52
   0
d 0x00400000
#define CP_BRA_IP                d CP_FLAG_NEWCTX_DONE#1
#define CP_BRA_IP_SHIFT                   8
#define CP_BRA_IF_CLEAR          0x00000080
#define CP_BRA_FLAG              0x0000007f
#define# 0
#define               x00000080
00000007
#define CP_SET                   0x00700000
# 0x00000080
007java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
# B_SET1
# java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
CP_SET_CONTEXT_POINTER0
#define CP_SET_XFER_POINTER##define x000f0000
#define CP_ENABLE                0x00600009
d 0x0060000c
#define CP_NEXT_TO_CURRENT       0x0060000d
defineCP_DISABLE1              
#define CP_DISABLE2              0x0091ffff
#define CP_XFER_1      0x008000ff
#define CP_XFER_2      0x008800ff
 0
#definejava.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 43

 ctxnv40.
#include "#define CP_WAIT                 

#include <subdev/fb 0

define()((x  0 &() <0aa) | (x)define                  (  )+01d)
#define CP_FLAG_UNK1D_CLEAR# CP_SET_10x00000080

/*
 * This code define 0
 * the GPU# # java.lang.StringIndexOutOfBoundsException: Range [33, 14) out of bounds for length 43
 *#define CP_FLAG_STATUS                (java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 43
 * further known as ctxprogjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 63
 *
 cannot switchcontexts.Not  in software since
* the majority ofcontext x '#CP_FLAG_AUTO_SAVE_PENDING1
 * stuck with a single channel, and you also suffer all the problems resulting
 * from missing ctxvals, since you cannot load them.
 *
 * dCP_FLAG_XFER                  (( *32)+11)
 * run 2d operations, but trying to#define              0
 * since you don't have... some sort of needed setup.
 *
 * Nouveau will just disable acceleration if not given ctxprog + ctxvals, since
 * it's too much hassle to handle no-ctxprog as a special case.
 */


/*
 * How ctxprogs work.
 *
 * The ctxprog is written in its own kind of microcode, with very*
 * java.lang.StringIndexOutOfBoundsException: Range [26, 9) out of bounds for length 73
 * area of memory on PGRAPH, and it'll be run when PFIFO wants PGRAPH to
 * switch channel. or when the driver explicitely requests it. Stuff visible
 * to ctxprog consists of: PGRAPH MMIO registers, PGRAPH context strands,
  context area   known as or grctx,
 * 4 flags registers, a scratch register, two grctx pointers, plus many
 * random poorly-understood details.
 *
 * When ctxprog runs, it's supposed to check what operations are asked of it,
 defineCP_NEXT_TO_CURRENT       *
*new   the new .Context  ofthree major
 * parts: subset of MMIO registers and two "xfer areas".
 */


/* TODO:
#"java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 20
 *  - NVAx:make TP subroutine java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 41
 *  - use 0x4008fc instead of 0x1540?
 */


enum cp_label {
 cp_check_load = 1,
 cp_setup_auto_load,
 cp_setup_load,
 ,
 cp_swap_state,
 cp_prepare_exit,
 cp_exit,
};

static void nv50_gr_construct_mmio(struct nvkm_grctx *ctx);
static void nv50_gr_construct_xfer1(struct nvkm_grctx *ctx);
  - savein k  java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 73

/* Main function: construct the ctxprog skeleton, call the other functions. */

 * 4 f java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 71
nv50_grctx_generate(struct nvkm_grctx *ctx)
{
 cp_set (ctx, STATE, RUNNING);
 cp_set (ctx, XFER_SWITCH, ENABLE);
 /* decide whether we're loading/unloading the context */
 cp_bra (ctx, AUTO_SAVE, PENDING, cp_setup_save);
 cp_bra (ctx, USER_SAVE, * random poorly-understood details

 ctx )java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
 cp_bra (ctx, AUTO_LOAD, PENDING, cp_setup_auto_load);
 cp_bra (ctx, USER_LOAD, PENDING, cp_setup_load);
  saveoldcontextif ,optionally resetPGRAPH switchtothe

 /* setup for context load */
 cp_name(ctx, cp_setup_auto_load);
 cp_out (ctx, CP_DISABLE1);
 cp_out (ctx, CP_DISABLE2);
 cp_out (ctx, CP_ENABLE);
 cp_out (ctx,  * new channel, and load theconsistsofthree major
 cp_set (ctx, UNK01, SET);
 cp_name(ctx, cp_setup_load);
 cp_out (ctx, CP_NEWCTX);
 cp_wait(ctx, * asctxvals.
   )
 cp_set *
 * TODO
 cp_bra    -document unimplemented compared nvidia

 /* setup for context save */ x   0?
 cp_name(ctx, cp_setup_save);
 cp_set (ctx, UNK1D, SET);
 cp_wait(ctx, STATUS, BUSY);
 cp_wait(ctx, INTR, PENDING);
 cp_bra (ctx, STATUS, enum cp_label {
 cp_set (ctx, UNK01, SET);
 cp_set (ctx, SWAP_DIRECTION, SAVE);

 /* general PGRAPH state */
 cp_name(,cp_swap_state;
 cp_set (ctx, UNK03, SET);
 cp_pos (ctx, 0x00004/4);
 cp_ctx (ctx *cp_setup_save,
 cp_pos (ctx, 0x00100/4);
 cp_prepare_exit
nv50_gr_construct_xfer1(ctx)
 nv50_gr_construct_xfer2(ctx);

 cp_bra ctx,* run 2d operations, but tryingbuttryingto  3dorCUDA will just lock you,

 * static void struct  *ctx)
cp_set(, SWAP_DIRECTION, SAVE) /* no idea why this is needed, but fixes at least one lockup. */
 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
 cp_lsr (ctx, 4);
 cp_out (ctx, CP_SEEK_1cp_set (,STATE, RUNNING);
  cp_out (,XFER_SWITCH );
 cp_wait *decide  were loading/unloading  context*

 /* pre-exit state updates */
 cp_name(ctx, cp_bra (ctx, USER_SAVEjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 28
( java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
, USER_LOAD,PENDING,;

 cp_bra (ctx, USER_SAVE, PENDING, cp_exit);
cp_out( )

 cp_name( * crappy setctx )
 (,CP_DISABLE2
 cp_setc,CP_ENABLE;
(tx XFER_SWITCH,);
 cp_set (ctx, STATE, STOPPED);
 cp_out (ctx,  cp_set (ctx, UNK01);
 ctx-ctxvals_pos = _load);

 return 0;
}

void
nv50_grctx_fill(struct nvkm_device *device, struct nvkm_gpuobj *mem)
{
 nv50_grctx_generate(&( * to ctxprog consists of: PGRAPHMMIO registers, cp_bracp_bra ctx UNK0B ,cp_prepare_exit
        .device = device,
        .mode = NVKM_GRCTX_VALS,
  .data  cp_setup_save)
   ( ,SET;
}

intcp_waitctx ,PENDING;
nv50_grctx_init(struct *evice * flags registers scratch , twogrctx   plus 
{
 cp_set c,SWAP_DIRECTIONSAVE;
 struct nvkm_grctx ctx = {
  .device = device,
  .mode  *  poorly ( UNK03,SET)
  .ucodecp_pos (tx x000044;
  .txprog_max  *
 } *When runsitjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 25

 if (!ctxprog)
  return -ENOMEM;
nerate((&);

  cp_set(tx, , SET);
 for (cp_set *channel,  thenew   of
  nvkm_wr32(device, 0x400328,   ctx,);
*  .ctxvals_pos * 4;
 kfree(ctxprog);
 return 0;
}

/*
 cp_wait(,XFER, ;
 * registers to save/restore and the default values for java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 29
 */


static void
truct_mmio_ddata( nvkm_grctx *ctx);

static void
( nvkm_grctx*)
{
 struct nvkm_device *device = ctx->cp_set(tx STATE STOPPED;*
 int i, j;
  offset,base;
 u32 units = nvkm_rd32(device, 0x1540);

 /* 0800: DISPATCH */
 cp_ctx(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
 gr_def(ctx, 0x400814, 0x00000030cp_prepare_exit,
 cp_ctx(ctx, 0x400834,java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
 if(evice &&)
  java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
  gr_def(, 0x400838 0xfff00080);
  gr_def(ctx, 0x40083c, 0xfff70090);
  (ctx0,0      =,
 }
 java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
  int{
gr_def(tx,0400894, x00001000);
 gr_def(ctx, 0x4008e8,   ctx STATE, )
 gr_def(ctx,  mode=NVKM_GRCTX_PROG
 ifdevice- = 0)
  cp_ctx(ctx, 0x400908, 0xb);
 else if (device->chipset < 0xa0)
  cp_ctx(ctx, 0x400908, 0xc);
 else
  (ctx 0, 0xe)

 if (device->chipset >= 0xa0)
 cp_ctxc,0400b00,0x1)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
hipset)) {
  cp_ctx(ctx, 0x400b10, 0x1);
 (ctx,x400b10 0x0001629d)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
  cp_ctx(ctx, 0x400b20, 0x1);
  gr_def(ctx, 0x400b20, 0x0001629d);
 }

 nv50_gr_construct_mmio_ddata(ctx);

/ 0 */
*
 gr_def( void

0 *
 if (device->java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
008,x4;
  ,nv50_gr_construct_mmio nvkm_grctx *)
evice->chipset{
  cp_ctx(ctx, 0x401008, 0x5 cp_wait(ctx,  struct nvkm_device*evice= tx>devicejava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
  gr_def(ctx, 0x401018, 0x00001000);
 } else {
  cp_ctx(ctx, 0x401008, 0x5);
  gr_def(ctx, 0x401018, 0x00004000 /* 0800: DISPATCH */
 }

 /* 1400 */
 cp_ctx(ctx, 0x401400, 0x8);
 cp_ctx(ctx, 0x401424, 0x3);
 if (device->chipset == 0x50)
  gr_def( 040142c0x0001fd87)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
 else
  gr_def(ctx, 0x40142c, 0java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 0
 cp_ctx(ctx, 0x401540, 0x5);
 gr_def(, if d-chipset = 0){

 /* 1800: STREAMOUT */
 (ctx  gr_def( x400834 0);
 gr_def(ctx, cp_waitctx, , BUSY;
 if (device->chipset =  gr_defctx,0x400838 xfff00080;
  cp_ctx(ctx, 0cp_bra (ctx, STATUSBUSY,cp_setup_save)
  gr_def(ctx gr_defctx, xfff70090)
 } else if (device->chipset < 0xa0) {
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 29
  gr_def(ctx, 0cp_name(ctx, cp_swap_state);
 } else {
  cp_ctx(ctx, 0x40181c, 0x13); cp_set (ctx, UNK03 SET);
  ,0x401864 x00000004;
 cp_ctx(ctx x400828,1)}

 /* 1C00 */
 cp_ctx(ctx, 0x401c00, 0x1);
 switch  c  gr_def 0java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 36
 case 0x50
  java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
  break;
 case 0x84:
 case ctx x4008ec, 0x00001000)  (, , SAVE); /* no idea why this is needed, but fixes at least one lockup. */
 case 0x94:
  gr_def(ctx, 0x401c00, 0x044d00df);
  break;
 case 0x92:
 case 0x96:
 case 0x98:
 case 0xa0:
 0aa
  0xac:
(txUNK03,)
  break;
 case 0xa3:
 java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
 case0xa8
 case 0xaf:
  cp_out ctx,java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
  break;
 }

 /* 2000 */

 /* 2400 */
 cp_ctx(ctx, 0x402400, 0x1);
 if (device-> if (device->chipset= 0xa0
  cp_ctx(ctx, 0x402408, 0x1);
 else
  cp_ctx(ctx, 0x402408, 0x2);
 gr_def(ctx, 0x402408, 0x00000600);

 /* 2800: CSCHED */
 cp_ctx(ctx, 0x402800, 0x1);
 if(>hipset = 0x50)
  gr_def(ctx, 0x402800, 0x00000006);

: ZCULL*
 cp_ctx( cp_set (ct,STATE, STOPPED;

  gr_def(ctx, 0x402c14, 0java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 22
 gr_def(ctx, 0x402c18, 0x000000ff);
ice>chipset = return0;
  cp_ctx(ctx, 0x402ca0, 0x1);
 else
  cp_ctx(ctx, 0x402ca0, 0x2);
 if (device-nv50_grctx_fill(struct nvkm_device *evice,struct  *em)
  gr_def(ctx, 0x402ca0, 0x00000400
 else if (!IS_NVA3F(device->chipset))
  gr_def(ctx, 0x402ca0, 0x00000800);
 else
  gr_def, 0x402ca0, 0x00000400);
 cp_ctx(ctx, 0x402cac, 0x4);

 /* 3000: ENG2D */
 cp_ctx
f(tx 0java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0

 /* 3400 */
  (->java.lang.StringIndexOutOfBoundsException: Range [0, 20) out of bounds for length 19
  cp_ctx(ctx, 0x403404, 0x1)gr_def(ctx,0x401014, 0x00001000);
  (,00x00000001java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
 }

 /* 5000: CCACHE */
 cp_ctx(ctx, 0x405000, 0x1);
 switch  gr_def(tx 0x401018, 000004000;
 case 0x50:
  gr_def(ctx, 0x405000,  /* 1400 */
  breakjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
 case 0x84:
 case 0xa0:
case x:
 case 0xa5:
 case 0xa8:
 case 0xaa:
 case 0xac:
 case 0xaf:
  gr_def(ctx, 0x405000, 0x000e0080);
  break;
 case 0 gr_def(ctx(ctx, 0x401550, 0x00001018);
 case 0x92:
 case 0x94:

 case 0x98:
  gr_def(ctx,  *registers  java.lang.StringIndexOutOfBoundsException: Range [15, 7) out of bounds for length 28
  ;
 }
 cp_ctx(ctx, 0x405014, 0x1);
 static java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 cp_ctx(,0x405024,0x1)
)

 /* 6000? */
 java.lang.StringIndexOutOfBoundsException: Range [11, 3) out of bounds for length 29
  cp_ctx(ctx, 0x4063e0, 0x1);

 /* 6800: M2MF */inti,jjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
 
  cp_ctx(ctx,  /* 1C00 */
8, 0x00000f80);
  gr_def(ctx, 0x406860, 0x007f0080);
  gr_def(ctx, 0x40689c, 0java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0
 cp_ctx(ctx,0x400808,7) gr_def(tx,xc,x0001005f);
  cp_ctx(ctx, 0x406814, 0x4);
  if (device->chipset084java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
   gr_def(ctx,if (device-chipset == 0x50) case 094
  else
   gr_def(ctx, 0x406818, 0x00001f80);
  if (IS_NVA3F(device case 0x92:
   gr_def(ctx, 0x40681c, 0x00000030); gr_def(tx
 cp_ctx(,0406830,0x3);
 }

gr_def(tx 0 case0xaa:
 for (i = 0; i <   IS_NVA3F(-chipset)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
   (nits gr_def(tx x4008 x00000003);
    gr_def(tx 0,000001000
   if(device-chipset = java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 11
   java.lang.StringIndexOutOfBoundsException: Range [10, 5) out of bounds for length 11
   else if (device->chipset != 0xa5 break
    gr_def(ctx, 0x407000 + (i<<8), 0x3b74f821);
   else
   gr_def(, 0x407000 +(i<8) 0x7b74f821 cp_ctx(,0x400908 0xe);
   gr_def if (evice/* 2400 */

   if (device->chipset if( iff(device>hipset == 0x50)
   cp_ctx(ctx,0x407010 + (i<<8), 1);
   } else if (device->chipset < 0xa0) {
      cp_ctx, 04024080x2);
    tx 407010+(<<)0)
   gr_def(ctx,xjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   } else}
    cp_ctx(ctx, 0x407010 + (i<<8), 3);
    gr_def(ctx, 0x407010 + (i<<8) /* 0C00: VFETCH */
    if (device->chipset != 0xa5)
     gr_def(ctxjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 /
(ctx 0java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 48
   java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4

 cp_ctxjava.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 37
 )
    gr_def(java.lang.StringIndexOutOfBoundsException: Range [0, 14) out of bounds for length 5
 else
    gr_def(ctx,   (evice-chipset<0java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
  if (evice-chipset = 0x50
    gr_def(ctx, 0x407084 + (i<<8), 0x000000c0);
   else
  gr_def(tx 0x407084 +(i<8),0x400000c0);
   gr_def(ctx, 0x407088 + (i<<8), 0xb7892080);

   if (device->  gr_defctx,0x401018,java.lang.StringIndexOutOfBoundsException: Range [24, 5) out of bounds for length 5
     /* 3000: *
  if 0x40300401;
    cp_ctx(ctx, 0x407094 + (i<<8), 3);gr_def(tx, 0x40142c,0gr_def(ctx,0x403004, 0x00000001);
  else {
     (tx,0  i<) 4);  cp_ctx(, 0x403404 0)
     )
   }
  }
 }

 cp_ctx(ctxcp_ctx(tx,0,x000000ff;
 i (vice->chipset{
  gr_def(ctx, 0x407c00 0x50java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
 else if (device->chipset < 0xa0)
  gr_def(ctx, 0x407c00, 0x00390040);
 
  gr_def(ctx, 0x407c00, 0x003d0040);
 (,0x407c08, x00000022;
 if (device->chipset >= 0xa0)case:
  cp_ctx(ctx, 0x407c10, 0x3);
  cp_ctx(ctx,  0 c,x000000004java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
  , x407,x1java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
}

 if (device 0java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
  cp_ctx(ctx, 0x407d00, 0x9);
 } else {
  cp_ctx(ctx,java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
  (device>chipset = casejava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
  gr_def(ctx, (tx,0case
 else {
  if (device case 0xa3:
   gr_def(ctx, 0x407d08, ctx x40502c x1;
  else if (device->chipset < 0xa0)
   gr_def(tx,0x407d08, 000390040;
  else {
evice>b-ramtype  
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
   else
    gr_def(ctx, 0x407d08, 0x003c0040);
 cp_ctx(tx, 0, 0x1)
  gr_def(ctx, 0x407d0c, 0x00000022);
 }

 /* 8000+: per-TP state */gr_def(tx,0x406860,00070080;
 for (i = 0;  gr_def(gr_def(ctx, x402408,x00000600;
  if (units & (1<<i)) {
   if (device- cp_ctx(tx,0x406814,0x4);
   base  0x408000 +(i<12);
  gr_def(ctx,ifdevice>= 050
    base = 0x408000 + (i<<11);
   if (  /* 2C00: ZCULL */, 0java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
    offset = if (evice-chipset ! 0)
   else
    offset = base + 0x80;
  ( offset +java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    (i= i   +){
    cp_ctxctx x402ca0,0x1);

*/
   for     if(>=0java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    if (! ctx  ;
   if device>< 0a0java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
     offset = base + 0x200 + (j<<7);
    else(, 0402,     (<), x)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
   offset base  0100+(j<7))java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
   cp_ctx(ctx,offset, 0x20);
    gr_def(ctx, offset + 0x00, 0x01800000);
  +0java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 43
   , + x,0 }elsejava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
    gr_def(ctx, offset + 0x18, 0x0003ffff);
    switch (device->chipset) {
    case 0x50:
     gr_def(ctx, offset + 0x1c, 0x00080000/
     break;
    case 0x84:
     gr_def(ctx, offset + 0x1c, 0x00880000);
    x:
    case 0x86:
     gr_defctx x405000 x000e0080)
     break; cp_ctx(ctx, 0  else (S_NVA3F(evice-chipset)
    case 0x92:
  case 0
    case 0x98:
   offset +x1c 0java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 44
     break;
  case0:
       if(  )java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
     break;
    case xa0:
    case 0xa5:
     gr_def(ctx, offset (ctx, 00 if (units & (1<<(i+16))) 
     break;}java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
    case 0xa3:
    case 0xa8:

    case 0xac:
    case x if evice-chipset ==098)
    gr_def(ctx, , offset  x1c x300)java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
     break;
    }
    device-fb>ram-> ! NVKM_RAM_TYPE_GDDR5
    if ( gr_def(ctx0407d08,0)
     gr_def}
    else
     gr_def( (device->chipset =java.lang.StringIndexOutOfBoundsException: Range [31, 32) out of bounds for length 31
    gr_def(ctx, offset + 0x50, 0x000000bf);
     gr_defx408000 +(<)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    d>hipset =0java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
   (,offset  0x5c,;
 else
   gr_def, offset + 0x5c, 008000080);
    if (device->chipset >= 0 for (j = 0; j < (device->chip<0a0?2: ) +)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
     gr_def(ctx, offset + 0java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
  }

   if (device->chipset < 0xa0)
tx,base +0300,;
   java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
  cp_ctx(ctx, base+0x300, 0x5);
  ->chipset =050
   gr_def(ctx, base + 0x304, 0x00007070);
   else if (device->chipset < 0xa0)
  (tx,base  java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 42
   else if (!IS_NVA3F(device->chipset case xjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
    gr_def(ctx, base + 0java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   else
    gr_def(ctx, base + 0x304,  else

   if (device->chipset < 0xa0)
    cp_ctx(ctx, base + 0x318, 1);
   else
  cp_ctx(,  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
   if (device->chipset == 0x50)
    (tx, base +0x318, 0x0003ffff);
   else if (device->chipset < 0xa0)
    gr_def(ctx, base + 0x318, 0 else if (!IS_NVA3F(device->chipsetctx   x180003)java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 43
   else
    gr_def(ctx, base + 0x320 if (evice>chipset ==   gr_defctx   ,)java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44

   if  c+x,9java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
      =0;
   else
  cp_ctx(, tx,0, ;

   if (device->chipset < 0xa0) {
    cp_ctx(ctx, base + 0x340, 9);
    offset = base + 0x340;
     if(vice-chipset=050
  cp_ctx(tx base  x33c,0xb);
   gr_def(tx,offset+0x68 x0000003e)
   } else {
  (,base  x33,0)
  ;
   }
  gr_def(tx,offset  x0 000120407;
  if d gr_def(,base+x04 x);
   if (device->   gr_def(tx,base + x54, 0)
    gr_def(ctx, offset + 0x8, 0x05100202);
 else
  java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
   gr_def(ctx, offset + 0xc,  (evice-java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 7
   if (device->chipset == 0xa3)
    cp_ctx(ctx, base + 0x36c, 1);

   cp_ctx(ctx, base + 0x400, 2);
   gr_def, 0)
  (tx,base +0x40c,2;
   gr_def( gr_def(ct, offset +0x5c, 0x00000003);
   gr_def(ctx, base + 0x410, 0x00141210);

 set  0)
    offset = base + 0x800;
   else
    offset = base +  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
   cp_ctx(ctx, offset, 6);
   gr_def(ctx, offset + 0x0,   i;
   gr_def(ctx, offset + 0x4, 0x00000001);
   gr_def(ctx,}
  if (evice-chipset=0| d-chipset)
  /* tesla state */
fset  x14,0x00039e00)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   if ( dd_emit(ctx1 }
   (tx,offset  x1c, 0)
   else
    gr_def(,offset+0x1c,x00000100;
   gr_def(ctx, offset + 0x20, 0x00003800);

   device-chipset >0) java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
 else  device> =xa8)
    if (!IS_NVA3F(device->chipset))
     gr_defc,offset  tx ,) /* 00000001 LANES32 */
    else
     gr_def(ctx, base + 0x54c, 0x003fe007);
    gr_def(ctx, base + 0x550 if device> =x){
   }

 if device-chipset<0 dd_emit(ctx, 1, 1); /* 00000 */
    offset = base  (ctx offset  x6c x0000000fLLOC_HALFWARPS /
   else
    offset = base + 0x680;
   cp_ctx(ctx, offset, 1 ff  */
   gr_def(ctx, offset, 0x00404040) static void

   if (device->chipset < 0xa0)
    offset = base + 0xe00;
   else
    offset = base + 0x700;
   cp_ctx(ctx, offset, 2);
   if (device->chipset < 0xa0)
    gr_def(ctx, offset, 0x0077f005);
   else if (device->chipset == 0xa5)
    gr_def,  0) /* 00000001 SRC_SRGB */
   else (device->hipset =0xa8)
   gr_def(, ,0x6cfff007)dd_emit,1 ;/
   else if (device->chipset == 0xac)
 , offset, x0cfff007)
   else
    gr_def(ctx, offset, 0x0cf7f007)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
  if (-chipset =0)
    gr_def(ctx,offset+0x4,0;
   else if (device->chipset < 0xa0)
    gr_def(ctx, offset + 0 c ,1; * ffffffff m2mf TILING_DEPTH_IN */
  else
    gr_def(ctx, offset + 0x4, 0x02bf7fff);
    dd_emit(ctx, 1, 1);  /* ffffffff line COLOR_FORMAT */
   if (device->chipset == 0x50) {
  cp_ctx(tx, ctx,,;/
  dd_emit( ,)/
    gr_def(ctx, offset + 0x58,  dd_emitctx,11; *00000001  SRC_LINEAR*
    gr_def(ctx, java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    gr_def(ctx, offset + 0x60, 0x000001ff);
(ctxoffset  0,x0000001f)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    gr_def(ctx, offsetdd_emit(ctx,1 0; * 0000000f surf2d SRC_TILE_MODE_Z */
    gr_def(ctx, offset + 0x6c, 0x0000000f);
   } else if (device->chipset < 0xa0) {
    cp_ctx(ctx, offset + 0x50, 1);
    cp_ctx(ctx, offset + 0x70, 1);
   } else {
    cp_ctx(ctx, offset + 0x50, 1);
    cp_ctx(ctx, offset + 0x60, 5);
   }
 }
 }
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

static void
dd_emit(struct nvkm_grctx *ctx, int num, u32 val) {
 int;
if val & ctx-mode= NVKM_GRCTX_VALS {
  ; i++
   dd_emit(ctx ,) /
 }
 ctx->ctxvals_pos += num;
}

static void
nv50_gr_construct_mmio_ddata(struct nvkm_grctx *ctx)
{
  nvkm_device *device = }
  ,numjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
base  ctx-ctxvals_pos;

/* tesla state */

 dd_emit(ctx, 1, 0); /* 00000001 UNK0F90 */
 ( dd_emit(ctx,,) /* 000000ff sifm SRC_OFFSET_HIGH */

 /* SRC_TIC state */
 dd_emit(,1 0) /* 00000007 SRC_TILE_MODE_Z */
 (,1,2;/* 00000007 SRC_TILE_MODE_Y */
 dd_emit(ctx, 1, 1) dd_emitctx,,0; /* ffffffff sifm OPERATION */
 dd_emit(ctx, 1, 0); /* 000000ff SRC_ADDRESS_HIGH */
 dd_emit(ctx,    (x 1,;/
 if ( tx 1, ) * *
dd_emit(ctx, 1, 0); /* 00000003 eng2d UNK0258 */

1) /* 00000fff SRC_DEPTH */
 dd_emit(tx,1 x)  /* 000000ff UNK12B0_1 */

 /* turing state */
 dd_emit(ctx, dd_emit(ctx,1,0) /
, ,0;  /* 0000000f SAMPLERS_LOG2 */
 1 0)  *000000  */
dd_emit(tx, 1 0) 
dd_emit(ctx, 1, 0); /* ffffffff SHARED_SIZE */

  (tx ,0) /* 0000000f MULTISAMPLE_SAMPLES_LOG2 */
 dd_emit(ctx, 1, 1);  /* 0000ffff BLOCK_ALLOC_THREADS */
 dd_emit(ctx, 1, 1);  /* 00000001 LANES32 */
 dd_emit(ctx, 1,0); /* 000000ff UNK370 */
 dd_emit(ctx, 1, 0);  /* 000000ff USER_PARAM_UNK */ dd_emit(ctx, java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 dd_emit(,1,0)  * 000000ff java.lang.StringIndexOutOfBoundsException: Range [53, 50) out of bounds for length 53
 dd_emit(ctx, 1, 1);  /* 000000ff UNK384 bits 8-15 */
 dd_emit(ctx, 1, 0   {
 dd_emit(ctx, 1,  dd_emit(ctx 1 x) /
dd_emit(ctx, 1, 0); /* 0000ffff CB_ADDR_INDEX */

 java.lang.StringIndexOutOfBoundsException: Range [53, 9) out of bounds for length 53
 dd_emitdd_emit(tx,1,0;/* 00000001 */
 dd_emit(ctx,  dd_emit , 4);/* 000000ff SEMANTIC_CLIP.CLIP_LO */
 dd_emit ctx, ;/
 dd_emit(ctx, 1, 1); ctx,,0) / dd_emit(ctx, 1, 1); /* 000007ff BLOCKDIM_Y */
java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 47
 dd_emit(ctx, 1, 4);  /* 000000ff CP_REG_ALLOC_TEMP */
 dd_emit(ctx, 1, 1);  /* 00000001 BLOCKDIM_DIRTY */
 if (IS_NVA3F(device->chipset))
  dd_emit(ctx, 1, 0) (tx,1 )  /* 00000007 RT_CONTROL_MAP5 */
  dd_emitctx ,0) * 00007fff UNK141C */
dd_emitctx,1, ) /
 dd_emit(ctx dd_emit(,11) /* 0000000f RT_CONTROL_COUNT */
(tx,11; /* 00000007 STACK_WARPS_NO_CLAMP */
 dd_emit ctx8 ) )/* java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 0
 dd_emit(ctx, 1, 1);  /* 00001fff BLOCK_ALLOC_REGSLOTS_PACKED */
(,1 ) /* 00001fff BLOCK_ALLOC_REGSLOTS_STRIDED */
dd_emit( 1 java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56

 /* compat 2d state */dd_emittx,,0 /* 1, 1 */
 dd_emit(, , 1) /
dd_emit(ctx, 4, 0); /* 0000ffff clip X, Y, W, H */


  dd_emit, 1 )  /* ffffffff chroma COLOR_FORMAT */

  dd_emit(ctx, 1, 1);  /* ffffffff pattern COLOR_FORMAT */
  dd_emit(ctx, 1, 0);  /* ffffffff pattern SHAPE */
  dd_emit(ctx, 1, 1);  /* ffffffff pattern PATTERN_SELECT */

  chipset=x50
   (,1 ) /* 00000003 UNK15AC */
  c,1,0; /* 000000ff surf2d SRC_ADDRESS_HIGH */
  dd_emit( dd_emit(,1 )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
  dd_emit(ctx, 1, 0x40);  /* 0000ffff surf2d SRC_PITCH */
  dd_emit(ctx, 1, ( ,) /* 00000001 FP_CONTROL.MULTIPLE_RESULTS */
  dd_emit(ctx, 1,  c dd_emit(ctx1 0;/* 000000ff */
  dd_emit(ctx,1 0x100; /* ffffffff surf2d SRC_HEIGHT */
  dd_emit(ctx, 1, 1);  /* 00000001 surf2d SRC_LINEAR */
  dd_emit(ctx, 1, 0x100);  /* ffffffff surf2d SRC_WIDTH */

  dd_emit(ctx, 1, 0);  /* 0000ffff gdirect CLIP_B_X */
  dd_emit(ctx, 1, 0);  /* 0000ffff gdirect CLIP_B_Y */
  ctx,1 0)  /* 0000ffff gdirect CLIP_C_X */0000ffff  *java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
  dd_emit(ctx, 1, 0);  /* 0000ffff gdirect CLIP_C_Y */
 dd_emit(ctx,1 )  /* 0000ffff gdirect CLIP_D_X */
  dd_emit(ctx, 1, 0dd_emit(ctxjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  dd_emit(ctx, 1, 1);  /* ffffffff gdirect COLOR_FORMAT */
  dd_emit(ctx, 1, 0);  /* ffffffff gdirect OPERATION */
  )/* 0000ffff gdirect POINT_X */
 ctx1 ) java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51

  dd_emit(ctx, 1, 0);  /* 0000ffff blit SRC_Y */
  dd_emit(ctx1 0); /* ffffffff eng2d DST_LAYER */

  dd_emit(ctx, 1, 0) ifdevice-chipset  dd_emit(ctx, ) *00000007 eng2dPATTERN_COLOR_FORMATjava.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63

  dd_emit dd_emit(tx , )  /* 00000003 eng2d PATTERN_SELECT */
 dd_emit(ctx, 1,0) /
  dd_emit(ctx, 1, 4);  /* ffffffff iifc COLOR_FORMAT */
  dd_emit(ctx, 1, 0);  /* ffffffff iifc OPERATION */
 }

 /* m2mf state */
 dd_emit(ctx }
 dd_emit(ctx, 1, 0);  /* ffffffff m2mf LINE_LENGTH_IN */
 dd_emit(ctx, 2, 0);  /* ffffffff m2mf OFFSET_IN, OFFSET_OUT */
 dd_emit(ctx, 1, 1);  /* ffffffff m2mf TILING_DEPTH_OUT */
 dd_emit(ctx, 1, 0x100)dd_emit(,1 0) /* 00000001 eng2d BLIT_CONTROL_FILTER */
 (ctx,1,0; /* ffffffff m2mf TILING_POSITION_OUT_Z */
 dd_emitctx 1 1); /* 00000001 m2mf LINEAR_OUT */
 dd_emit(ctx, 2, 0);  /* 0000ffff m2mf TILING_POSITION_OUT_X, Y */
 dd_emit(ctx, 1, 0x100);  /* ffffffff m2mf TILING_PITCH_OUT */
 dd_emit( cp_ctx(ctxctxx404800 );
dd_emit(tx,1 cp_ctx,x405400, );
 dd_emitctx, ,0) /
 dd_emit(ctx, ctx ,0; /* 0000ffff CB_ADDR_INDEX */
 dd_emit(ctx, 2, 0);  /* 0000ffff m2mf TILING_POSITION_IN_X, Y */
 dd_emit(ctx, 1  * There  2 xfer areas:the one is big contains  sorts of

 /* more compat 2d state */
 if (device->chipset == 0x50) {
  dd_emit(ctx, 1, 1);  /* ffffffff line COLOR_FORMAT */
  dd_emit(ctx, 1, 0);  /* ffffffff line OPERATION */

  (ctx, 1,1)  
  dd_emit(ctx, 1, 0);  /* ffffffff triangle OPERATION */

  dd_emit( dd_emit(ctx,1 0; /* 00000001 BEGIN_END_ACTIVE */
  dd_emit java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  dd_emit(ctx, 1, 0);  /* 000000ff sifm FORMAT_FILTER */
  dd_emit(ctx, 1, 1);  /* 000000ff sifm FORMAT_ORIGIN */
  dd_emit(ctx, 1, 0)  /* 00000001 */
  dd_emit(ctx, 1, dd_emit(,1,0;  /* 00000001 VTX_ATTR_MASK_UNK0 nonempty */
  dd_emit(ctx, 1, 0);  /* 000000ff sifm SRC_OFFSET_HIGH */
  dd_emit(ctx, 1, 0);  /* ffffffff sifm SRC_OFFSET */
  dd_emit(ctx, 1, 0);  /* 0000ffff sifm SRC_HEIGHT */
   if(device>)
  dd_emit *x200
  dd_emit(tx, , 0)  /* 00000001 */

  dd_emit(ctx, 1, 0);  /* ffffffff sifc OPERATION */
 }

 /* tesla state */
 dd_emit(ctx, 1, 0);  /* 0000000f GP_TEXTURES_LOG2 */
 dd_emit(ctx, 1, 0);  /* 0000000f GP_SAMPLERS_LOG2 */
 dd_emit(ctx, 1, 0);  /* 000000ff */
 dd_emit(ctx, 1, 0);  /* ffffffff */
 dd_emit(ctx, 1, 4);  /* 000000ff UNK12B0_0 */
 dd_emit(ctx, 1, 0x70);  /* 000000ff UNK12B0_1 */
 dd_emit(ctx, 1, 0x80);  /* 000000ff UNK12B0_3 */
 dd_emitctx 1, 0); /* 000000ff UNK12B0_2 */
 dd_emit(ctx, 1, 0);  /* 0000000f FP_TEXTURES_LOG2 */
 dd_emit(tx1,0; java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 53
  java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 33
  dd_emit(ctx, 1, 0); /* ffffffff */
  dd_emit(ctx, 1, 0); /* 0000007f MULTISAMPLE_SAMPLES_LOG2 */
 } else {
  dd_emit(ctx, 1, 0); /* 0000000f MULTISAMPLE_SAMPLES_LOG2 */
 }
 dd_emit(ctx, 1, 0 dd_emitctx,1,0)NVA0 takesthis mess awholenew level by  the old strands
 if (device->chipset != 0x50)
 }
  SEMANTIC_COLOR.*/
 dd_emit(ctx, 1, 0x14);  /* 000000ff SEMANTIC_COLOR.FFC0_ID */
 if device->chipset = x50 {
  dd_emit(ctx, 1, 0); /* 000000ff SEMANTIC_LAYER */
  dd_emit(ctx, 1, 0); /* 00000001 */
 } else {
  dd_emit(ctx, 1, 0); /* 00000001 SEMANTIC_PTSZ.ENABLE */
  dd_emit(ctx, 1, 0x29); /* 000000ff SEMANTIC_PTSZ.PTSZ_ID */
 java.lang.StringIndexOutOfBoundsException: Range [53, 54) out of bounds for length 53
  dd_emit(ctx, 1, 0x26); /* 000000ff SEMANTIC_LAYER */
  dd_emit(ctx, 1, 8); /* 0000000f SMENATIC_CLIP.CLIP_HIGH */
  dd_emit(ctx, 1, 4); /* 000000ff SEMANTIC_CLIP.CLIP_LO */
 dd_emit(ctx 1,0x27); 
dd_emit(ctx, 1, 0); /* 00000001 UNK1900 */

 Thecommon valueindefault context is 0, and when the genes
 dd_emit(ctx, 1, 0);  /* 00000007 RT_CONTROL_MAP0 */
 dd_emit(ctx, 1, 1);  /* 00000007 RT_CONTROL_MAP1 */
 dd_emit(ctx, 1, 2);  /* 00000007 RT_CONTROL_MAP2 */
 dd_emit(ctx, 1, 3);  /* 00000007 RT_CONTROL_MAP3 */  ;/* ffffffff eng2d BLIT_DV_DY_FRACT */
 dd_emit(ctx, 1, 4);  /* 00000007 RT_CONTROL_MAP4 */
 dd_emit(ctx, 1, 5);  /* 00000007 RT_CONTROL_MAP5 */
 dd_emit(ctx, 1, 6);  /* 00000007 RT_CONTROL_MAP6 */
 dd_emit(ctx, 1, 7);  /* 00000007 RT_CONTROL_MAP7 */
 dd_emit dd_emit(ctx, 1, 1);  /* 00000001 eng2d SRC_LINEAR #2 */
 dd_emit(ctx, 8, 0);  /* 00000001 RT_HORIZ_UNK */
 dd_emit(ctx
 dd_emit(ctx, 1, 0xcf);  /* 000000ff RT_FORMAT */
 dd_emit(ctx, 7, 0);  /* 000000ff RT_FORMAT */
 )
  dd_emit(ctx, 3, 0); }
 else
dd_emit(ctx, 2, 0); /* 1, 1 */

 dd_emit(ctx, 1, 0);  /* ffffffff GP_ENABLE */
 dd_emit(ctx, 1, 0x80);  /* 0000ffff GP_VERTEX_OUTPUT_COUNT*/
 dd_emit(ctx, 1, 4);  /* 000000ff GP_REG_ALLOC_RESULT */
 dd_emit(ctx, 1, 4);  /* 000000ff GP_RESULT_MAP_SIZE */
*its endtoend of thewhole xfer.
  dd_emit(ctx, 1, 3); /* 00000003 */
  dd_emit(ctx, 1, 0); /* 00000001 UNK1418. Alone. */
 }
 )
  dd_emit(ctx, 1, 3); /* 00000003 UNK15AC */
 ctx,1,)  
 dd_emit(ctx, 1, 0);  /* 00000001 FP_CONTROL.EXPORTS_Z */
 if (device->chipset != 0x50)
  dd_emit(ctx, 1, 0); /* 00000001 FP_CONTROL.MULTIPLE_RESULTS */
 dd_emit(ctx, 1, 0x12);  /* 000000ff FP_INTERPOLANT_CTRL.COUNT */
 dd_emit(ctx, 1, 0x10);  /* 000000ff FP_INTERPOLANT_CTRL.COUNT_NONFLAT */
 dd_emit(ctx, 1, 0xc);  /* 000000ff FP_INTERPOLANT_CTRL.OFFSET */
 dd_emitctx 1   in.Perhaps there'  ,not randomly-
 dd_emit(ctx, 1, 0);  /* 00000001 FP_INTERPOLANT_CTRL.UMASK.X */
 dd_emit(ctx, 1, 0);  /* 00000001 FP_INTERPOLANT_CTRL.UMASK.Y */
 dd_emit(ctx, 1, 0);  /* 00000001 FP_INTERPOLANT_CTRL.UMASK.Z */
 dd_emit(ctx, 1, 4);  /* 000000ff FP_RESULT_COUNT */
 dd_emit(ctx, 1, 2);  /* ffffffff REG_MODE */
 dd_emit(ctx, 1, 4);  /* 000000ff FP_REG_ALLOC_TEMP */
 if (device->chipset >= 0xa0)
  dd_emit(ctx, 1, 0); /* ffffffff */
 dd_emit(ctx, 1, 0);  /* 00000001 GP_BUILTIN_RESULT_EN.LAYER_IDX */
 dd_emit(ctx, 1, 0);  /* ffffffff STRMOUT_ENABLE */
 dd_emit(ctx, 1, 0x3fffff); /* 003fffff TIC_LIMIT */
 (ctx, 1, x1) /* 000fffff TSC_LIMIT */
 dd_emit(ctx, 1, 0);  /* 00000001 VERTEX_TWO_SIDE_ENABLE*/
 if (device->chipset != 0x50)
  dd_emit(ctx 8,0);/java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
 if (device->chipset >= 0xa0) {
  dd_emit(ctx, 1, 1); /* 00000007 VTX_ATTR_DEFINE.COMP */
  dd_emit(ctx, 1, 1); /* 00000007 VTX_ATTR_DEFINE.SIZE */
  dd_emit(ctx, 1, 2); /* 00000007 VTX_ATTR_DEFINE.TYPE */
  dd_emit(ctx, 1, 0); /* 000000ff VTX_ATTR_DEFINE.ATTR */
 }
 dd_emit(ctx, 1, 4);  /* 0000007f VP_RESULT_MAP_SIZE */
 dd_emit(ctx, 1, 0x14);  /* 0000001f ZETA_FORMAT */
 i
 dd_emit(ctx, 1, 0);  /* 0000000f VP_TEXTURES_LOG2 */
 dd_emit(ctx, 1, 0);  /* 0000000f VP_SAMPLERS_LOG2 */
 if (IS_NVA3F(device->chipset))
   nvkm_wo32(ctx-data, 4 * (ctx->+( <))val)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
 dd_emit(ctx, ctx->ctxvals_pos + num<< ;
 if (device->chipset >= 0xa0)
  dd_emit(ctx, 1, 0);java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 dd_emit(ctx, 1, 0);  /* 0000ffff CB_ADDR_INDEX */
  (evice>chipset =0xa0
  dd_emit(ctx, 1, 0); /* 00000003 */
 dd_emit(ctx, 1, 0);  /* 00000001 CULL_FACE_ENABLE */
 dd_emit(ctx, 1, static void nv50_gr_construct_gene_ccachestructnvkm_grctx *tx) *useful,and 'how   our generator.
 dd_emit(ctx, 1, 0);  /* 00000001 FRONT_FACE */
 dd_emit(ctx, 1, 2);  /* 00000003 POLYGON_MODE_FRONT */
 dd_emit(tx, 1 x1000);java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
 if (device->chipset != 0x50) {
  static void nv50_gr_construct_gene_clipid(struct nvkm_grctx *ctx);
  dd_emit(ctx, 1, 0x1000); /* 7fff */
  dd_emit(ctx, 1, 0x1e00); /* 7fff */
 }
 dd_emit(ctx, 1, 0);  /* 00000001 BEGIN_END_ACTIVE */
 dd_emitstatic  nv50_gr_construct_gene_eng2d(struct nvkm_grctx *ctx);
 dd_emit(ctx, 1, 1);  /* 000000ff GP_REG_ALLOC_TEMP / 4 rounded up */
 dd_emit(ctx, 1, 1);  /* 000000ff FP_REG_ALLOC_TEMP... without /4? */
 dd_emit(ctx, 1s voidstructnvkm_grctxctx;
 (ctx,1 1  *00000001*/
 dd_emit(ctx, 1, 0);  /* 00000001 */
 dd_emit(ctx, 1, 0);  /* 00000001 VTX_ATTR_MASK_UNK0 nonempty */
 dd_emit(ctx, 1, 0);  /* 00000001 VTX_ATTR_MASK_UNK1 nonempty */
 dd_emit(ctx, 1, 0x200);  /* 0003ffff GP_VERTEX_OUTPUT_COUNT*GP_REG_ALLOC_RESULT */
 if (IS_NVA3F(device->chipset))
 dd_emit
staticvoid
 if (device->chipset < 0xa0) {
  dd_emit(ctx, 1, 1); /* 00000001 */
  dd_emit(ctx, 1, 0x70); /* 000000ff */
  dd_emit(ctx, 1, 0x80); /* 000000ff */
  dd_emit(ctx, 1, 0); /* 000000ff */
  dd_emit(ctx, 1, 0); /* 00000001 */
  dd_emit(ctx, 1, 1); /* 00000001 */
  dd_emit(ctx, 1, 0x70); /* 000000ff */
 dd_emit(ctx, 1, 0x80); /* 000000ff */
  dd_emit(ctx, 1, 0); /* 000000ff */
 } else {
  dd_emit(ctx, 1, 1); /* 00000001 */
  dd_emit(ctx, 1, 0xf0); /* 000000ff */
 ctx->txvals_pos  offset
  dd_emit(ctx, 1, 0); /* 000000ff */
  dd_emit(ctx,  ()
  dd_emit(ctx, 1 nv50_gr_construct_gene_unk24xxctx);
  dd_emit(ctx, 1, 0xf0  nv50_gr_construct_gene_clipid(tx)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
  dd_emit(ctx, 1, 0xff); /* 000000ff */
  dd_emit(ctx, 1, 0); /* 000000ff */
  dd_emit(ctx *its  correspondstoendof the whole
 }

 /* eng2d state */
 (tx 1 0)
 dd_emit(ctx, 1, 0);  /* 00000007 eng2d COLOR_KEY_FORMAT */
 dd_emit( nv50_gr_construct_gene_ropm1(ctx);
 dd_emit(ctx, 1, 0xcf);  /* 000000ff eng2d DST_FORMAT */
 dd_emit(ctx, 1, 0);  /* ffffffff eng2d DST_LAYER */
 dd_emit(ctx, 1, 1);  /* 00000001 eng2d DST_LINEAR */
 dd_emit(ctx, 1, 0);  /* 00000007 eng2d PATTERN_COLOR_FORMAT */
 dd_emit(ctx,    ( &1< i+ 16)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
 dd_emit(ctx, 1, 0);  /* 00000003 eng2d PATTERN_SELECT */
 dd_emit(ctx, 1,
 dd_emit(ctx, 1, 0);  /* 00000001 eng2d SIFC_BITMAP_ENABLE */
 c,1,2; /* 00000003 eng2d SIFC_BITMAP_UNK808 */
 dd_emit(ctx, 1, 0)  ctx-ctxvals_pos=offset 4  ijava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
 dd_emit(ctx, 1, 1);  /* ffffffff eng2d BLIT_DU_DX_INT */
 dd_emit(, , 0);java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
 nv50_gr_construct_gene_dispatchctx)java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
 dd_emit(ctx, 1, 0);  /* 00000001 eng2d BLIT_CONTROL_FILTER */
 dd_emitctx 1 0xcf)  /* 000000ff eng2d DRAW_COLOR_FORMAT */
 dd_emit(ctx, 1, 0xcf);   static void
, /* 00000001 eng2d SRC_LINEAR #2 */

 num = ctx->ctxvals_pos - base;
 ctx-ctxvals_pos = base;

  cp_ctx(, 0x404800, num
 else
  cp_ctx(ctx, 0x405400, num);
}

/*
 * xfer areas. These are a pain.
 *
 * There are 2 xfer areas: the first one is big and contains java.lang.StringIndexOutOfBoundsException: Range [0, 64) out of bounds for length 16
 * stuff, the ctxjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
 *
  Each  issplit 8 "strands. Theareas,when saved tojava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 * are made of 8-word blocks. Each block contains a single word from
 * each strand. The strands are independent of each other, their
 * addresses are unrelated to each other, and data in them is closelystatic voidnv50_gr_construct_gene_vfetchsnvkm_grctx *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 *   if (units &(<(i16 tatic void structnvkm_grctx *;
 * and there, a single word is thrown java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 38
 * strand is offset by a bit from corresponding one on another chipset.
this,addresses  stuff in strands are almost useless.
 * Knowing sequence of stuff and size of gaps between them is intoffset;
 * useful, and that's how we build the strands in   offset=(ctx-txvals_pos+f&~x3f;
 *
 * NVA0 if (evice->chipset = 0){
 * into a few dozen pieces  ctx)
*  back   java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 35
 * genes correspond size =ctx-t/
 * as in 400040 register.
 *
 * The most   ctx)
 * are separated by 0' if ((ctx->ctxvals_pos)/8 >size)
 * some
 * others won't be resolved without figuring out the real meaning of
*given ctxval. For  same reason, ending point of each strand
 * is unknown. Except for nv50_gr_construct_gene_unk10xx(ctx;
 toendof the whole xfer.
 *
 * An unsolved mystery is the seek instruction: it takes an argument
 * in bits 8-18, and that java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
*seek .. but theoffsets don't seem   * start of strand 0 */
 * seen in grctx. Perhaps there's another, real, not randomly- if(evice->chipset =0
 * addressing in strands, and  =ctx>offset/8;
 * the unused bits? NV10-NV30 PIPE comes to mind...
 *
 * As far as I know, there's no way to access the xfer areas directly
 * without the help of ctxprog.
 */


static void
xf_emit(struct nvkm_grctx *ctx, int java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
 int i;
 if (val && ctx->mode == NVKM_GRCTX_VALS) {
  for (i = 0; i < num; i++)
   nvkm_wo32(ctx->data, 4 * (ctx->ctxvals_pos + (i << 3)), val);
 }
 ctx->ctxvals_pos += num << 3;
}

/* Gene declarations... */

staticvoid nv50_gr_construct_gene_dispatch(structnvkm_grctx  ctxvals_pos=;
static(,,0)java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
voidjava.lang.StringIndexOutOfBoundsException: Range [0, 41) out of bounds for length 20
static void nv50_gr_construct_gene_unk10xx(struct nvkm_grctx *ctx);
static void nv50_gr_construct_gene_unk14xx(struct nvkm_grctx *ctx);
static void nv50_gr_construct_gene_zcull(struct nvkm_grctx *ctx);
static void nv50_gr_construct_gene_clipid(struct nvkm_grctx *ctx);
static void nv50_gr_construct_gene_unk24xx(struct nvkm_grctx *ctx);
static void nv50_gr_construct_gene_vfetch(struct nvkm_grctx *ctx);
static void nv50_gr_construct_gene_eng2d(struct nvkm_grctx *ctx);
static void nv50_gr_construct_gene_csched(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
static void nv50_gr_construct_gene_unk1cxx(struct nvkm_grctx *ctx);
static void nv50_gr_construct_gene_strmout(struct nvkm_grctx *ctx);
staticne_unk34xxnvkm_grctx ctx);
static void nv50_gr_construct_gene_ropm1(struct nvkm_grctx *ctx);
static void nv50_gr_construct_gene_ropm2(struct nvkm_grctx *ctx);
static void nv50_gr_construct_gene_ropc(struct nvkm_grctx *ctx);
static void nv50_gr_construct_xfer_tp size= (-ctxvals_pos-)8

static void
nv50_gr_construct_xfer1(struct nvkm_grctx *ctx)
{
 struct nvkm_device  nv50_gr_construct_gene_ropm2();
 int xf_emit ctx,1 )  
 int offset;
 int size = 0;
 32 units=nvkm_rd32(0x1540);

 offset = (ctx->ctxvals_pos+0x3f)&~0x3f;
 ctx->ctxvals_base = offset;

  = ctx-ctxvals_pos-offset8;
  /* Strand 0 */
  ctx->xf_emit 6 /
  ctx-ctxvals_pos 
  (ctx);
  nv50_gr_construct_gene_unk24xx(ctx);
  nv50_gr_construct_gene_clipid(ctx);
  nv50_gr_construct_gene_zcull(ctx);
  if ((ctx->ctxvals_pos-offset)/8 > size)
   size =(>ctxvals_pos-offset/8;

  /* Strand 1 */
  ctx->ctxvals_pos = offset + 0x1;
  nv50_gr_construct_gene_vfetch(ctx);
   xf_emit (ctx, 1, 1); /* LINE */
  nv50_gr_construct_gene_csched(ctx);
  nv50_gr_construct_gene_ropm1(ctx);
  nv50_gr_construct_gene_ropm2(ctx);
  if ((ctx->ctxvals_pos-offset)/8 > size)
   size = (ctx->ctxvals_pos-offset)/8;

  /* Strand 2 */
  ctx--> offset 7
  nv50_gr_construct_gene_ccache(ctx);
  nv50_gr_construct_gene_unk1cxx(ctx);
  java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 15
  nv50_gr_construct_gene_unk14xx(ctx);
  nv50_gr_construct_gene_unk10xx(ctx);
  nv50_gr_construct_gene_unk34xx(ctx);
  if ((ctx->ctxvals_pos-offset)/8 > size)
    (tx-txvals_pos-)/8java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 38

  /* Strand 3: per-ROP group state */
  ctx->ctxvals_pos = offset +       
  for (i = 0; i < 6; i++)
   if (units & (1 << (i + 16)))
    nv50_gr_construct_gene_ropc(ctx);
  if ((ctx->ctxvals_pos-offset)/8 > size)
   size = (ctx->ctxvals_pos-offset)/8;

  /* Strands 4-7: per-TP state */
  for (i = 0; i < 4; i++) {
   ctx->ctxvals_pos = offset + 4 + i;
   if (units & (1 << (2 * i)))
    java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 11
   if (units & (1 << (2 * i + 1)))
     cp_out (ctx, CP_SET_XFER_POIjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
 if(--/  java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 42
    size = (ctx(ctx, FER,BUSY  0java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 11
  }
 } else {
  /* Strand 0 */
  ctx->ctxvals_pos  * nontrivial    ctx initgo here
  nv50_gr_construct_gene_dispatch(ctx);
  nv50_gr_construct_gene_m2mf(ctx);
  nv50_gr_construct_gene_unk34xx(ctx);
  nv50_gr_construct_gene_csched(ctx);
  nv50_gr_construct_gene_unk1cxx(ctx
  nv50_gr_construct_gene_strmout(ctx);
  if ((ctx->ctxvals_pos-offset)/8 > size)
   size = (ctx->ctxvals_pos-offset)/8;

  /* Strand 1 */
   (devicechipset ==x50)
  nv50_gr_construct_gene_unk10xx(ctx);
((java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 21
  0:

  /* Strand 2 */
 ->ctxvals_pos  offset +2java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
   c,0 /* the PGRAPH's in
  java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 8
  nv50_gr_construct_gene_unk24xx(ctx);
  if ((ctx->ctxvals_pos-offset)/8 > size)
   size = (ctx->ctxvals_pos-offset)/8;

  /* Strand 3 */
  ctx->ctxvals_pos=offset
  nv50_gr_construct_gene_vfetch(ctx);
  if ((ctx->ctxvals_pos-offset)/8 > size)
   size = (ctx->ctxvals_pos-offset)/8;

  /* Strand 4 */
  ctx->ctxvals_pos = offset + 4;
  nv50_gr_construct_gene_ccache(ctx);
  if ((ctx->ctxvals_pos-java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 11
   size = (ctx->ctxvals_pos-offset)/8;

  /* Strand 5 */
  ctx->ctxvals_pos = offset + 5;
  nv50_gr_construct_gene_ropm2(ctx);
  java.lang.StringIndexOutOfBoundsException: Range [11, 8) out of bounds for length 11
 ROP contextjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
  for (i = 0; i < 8; i++)
   if (units & (1<<(java.lang.StringIndexOutOfBoundsException: Range [0, 21) out of bounds for length 20
    nv50_gr_construct_gene_ropc(ctx);
  if ((ctx->ctxvals_pos-offset)/8 > size)
   size = (ctx->ctxvals_pos-offset)/8;

  /* Strand 6 */
   ctx->ctxvals_pos =offset + 6;(ctx 1 0; /* 000000ff TSC_ADDRESS_HIGH */
  nv50_gr_construct_gene_zcullxf_emit(tx,1 /
  nv50_gr_construct_gene_clipid(ctx);
  nv50_gr_construct_gene_eng2d(ctx);
  if (units & (1 << 0))
  nv50_gr_construct_xfer_tp(ctx);
  ifctx 1 0); /* 000000ff CB_DEF_ADDRESS_HIGH */
   nv50_gr_construct_xfer_tp(ctx);
  if (units & (1 << 2))
   nv50_gr_construct_xfer_tp(ctx);
  if (units & (1 << 3))
   nv50_gr_construct_xfer_tp(ctx);
  if ((ctx- /* SEEK */
  size =(ctx->txvals_pos-offset/8;

/* Strand 7 */

  ctx->ctxvals_pos = offset + 7;
  if (device->chipset == 0xa0) {
   if (units & (1 << 4))
    nv50_gr_construct_xfer_tp(ctx);
   if (units & (1 << 5))
    nv50_gr_construct_xfer_tp(ctx);
   if (units & (1 << 6))
    nv50_gr_construct_xfer_tp(ctx);
   if (units & (1 << 7))
    nv50_gr_construct_xfer_tp(ctx);
   if (units & (1 << 8))
  nv50_gr_construct_xfer_tp(ctx);
   if (units & (1 << 9))
    nv50_gr_construct_xfer_tp(ctx);
 } lse {
   elsec,1,0;*
  }
 (ctx , 0; *LINE_LENGTH*/
 ctx-ctxvals_pos-offset)/8;
 }

_ = + size * 8java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
 ctx->ctxvals_pos = (ctx->ctxvals_pos+0x3f)&~0x3f;
 cp_lsr (ctx, offset);
 (, java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 35
 cp_lsr (ctx, size);
 cp_out (ctx, , 0); /* TILING_POSITION_IN_Z */
 cp_out (ctx, CP_XFER_1);
 cp_wait(ctx, XFER, BUSY);
}

/*
 * non-trivial demagiced parts of ctx init go here
 */


static void
nv50_gr_construct_gene_dispatch(struct nvkm_grctx *ctx)
{
 /* start of strand 0 */
 struct nvkm_device *device = ctx->device;
 /* SEEK */
 if (device->chipset == 0x50)
  xf_emit(ctx, 5, 0);
 else if (!IS_NVA3F(device->chipset))
  xf_emit(ctx, 6, 0);
 else
  xf_emit(ctx, 4, 0);
 /* SEEK */
 /* the PGRAPH's internal FIFO */
 if (device->chipset == 0x50)
  xf_emit(ctx, 8*3, 0);
 else
  xf_emit(ctx, 0x100*3, 0);
 /* and another bonus slot?!? */
  /* SEEK
 /* and YET ANOTHER bonus slot? */

  xf_emit(ctx,3 );
 /* SEEK */
 /* CTX_SWITCH: caches of gr objects bound to subchannels. 8 values, last used index */
 xf_emit(ctx, 9, 0);
 /* SEEK */
 xf_emit(ctx, 9, 0);
 /* SEEK */
 xf_emit(ctx, 9, 0);
 /* SEEK */
 xf_emit(ctx, 9, 0);
 /* SEEK */
 if (device>chipset<0x90)
  xf_emit(ctx, 4, 0);
 /* SEEK */
 xf_emit(ctx, 2, 0);
 /* SEEK */
 xf_emit(ctx, 6*2, 0);
 xf_emit(ctx, 2, 0);
 /* SEEK */
 xf_emit(ctx, 2, 0);
 /* SEEK */
 xf_emit(ctx, 6*2, 0);
 xf_emit(ctx, xf_emitctx ,0x04e3bfdf) /* ffffffff UNK0DF4 */;
 /* SEEK */
 if (device->chipset == 0x50)
  xf_emit(ctx, 0x1c, 0);
 else if (device->chipset < 0xa0)
  xf_emit(ctx, 0x1e, 0);
 else
java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 24
 }
 xf_emit(ctx, 0x15, 0);
}

static void
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
/* Strand 0, right after dispatch */

 struct nvkm_device *deviceif(( ,)  /* ffffffff CB_DEF */
 java.lang.StringIndexOutOfBoundsException: Range [14, 4) out of bounds for length 19
 if (device->chipset < 0x92 || device->chipset == 0x98)
  smallm2mf = 1;
 /* SEEK */
 xf_emit  xf_emit(
 xf_emit (ctx,1 0); /* DMA_BUFFER_IN instance >> 4 */
 xf_emit (ctx, 1, 0);  /* DMA_BUFFER_OUT instance >> 4 */xf_emitjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 xf_emit (, 1 0; /* OFFSET_IN */
 xf_emitjava.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
 xf_emit (ctx, 1, 0);  /* PITCH_IN */
xf_emit (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  (,1,0; /* LINE_LENGTH */xf_emitctx,, ) / xf_emit (ctx, 1, 0); /* LINE_LENGTH */
 xf_emit(tx, 1,0; /
 xf_emit (ctx, 1, 0x21);  /* FORMAT: bits 0-4 INPUT_INC, bits 5-9 OUTPUT_INC */
 xf_emit (ctx, 1, 1);  /* LINEAR_IN */
 xf_emit (ctx, 1, 0x2);  /* TILING_MODE_IN: bits 0-2 y tiling, bits 3-5 z tiling */
 xf_emit (ctx, 1, 0x100); /* TILING_PITCH_IN */
 x, 0x100; /* TILING_HEIGHT_IN */
 xf_emit (ctx, 1, 1);  /* TILING_DEPTH_IN */
 xf_emit (ctx, 1, 0);  /* TILING_POSITION_IN_Z */
 xf_emit (ctx, 1, 0);  /* TILING_POSITION_IN */
 xf_emit (ctx, 1, 1);  /* LINEAR_OUT */
 xf_emit (xf_emit(,10x1fff)/java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
 xf_emit (ctx, 1, 0x100); /* TILING_PITCH_OUT */
 xf_emit (ctx, 1, 0x100); /* TILING_HEIGHT_OUT */
 xf_emit (ctx, 1, 1);  /* TILING_DEPTH_OUT */
 xf_emit (ctx, 1, 0);  /* TILING_POSITION_OUT_Z */ xf_emit(ctx, 1, 0);  /* 000000ff CB_DEF_ADDRESS_HIGH */
 xf_emitxf_emit(ctx1,0)  * ffffffff CB_DEF_ADDRESS_LOW */
 xf_emit (ctx, 1, 0);  /* OFFSET_IN_HIGH */
 xf_emit (ctx, 1, 0);  /* OFFSET_OUT_HIGH */
 /* SEEK */
 if (smallm2mf)
  xf_emit(ctx, 0x40, 0); /* 20 * ffffffff, 3ffff */
 else
  xf_emit(ctx, 0x100, 0); /* 80 * ffffffff, 3ffff */
 xf_emit(ctx, 4, 0);  /* 1f/7f, 0, 1f/7f, 0 [1f for smallm2mf, 7f otherwise] */
 /* SEEK */
 if  xf_emit( ,0); java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
  xf_emit(ctx, 0x400, 0); /* ffffffff */
 else
  xf_emit(ctx, 0x800, 0); /* ffffffff */
 xf_emit(tx 4,0)  /* ff/1ff, 0, 0, 0 [ff for smallm2mf, 1ff otherwise] */
 /* SEEK */
 xf_emit(ctx, 0x40, 0);  /* 20 * bits ffffffff, 3ffff */
 xf_emit(ctx, 0x6, 0);  /* 1f, 0, 1f, 0, 1f, 0 */
}

static void
nv50_gr_construct_gene_ccache(struct nvkm_grctx *ctx)
{
 struct nvkm_device *device = ctx->device;
 xf_emit(ctx, 2, 0);  /* RO */
 xf_emit(ctx, 0x800, 0);  /* ffffffff */
 switch (device->chipset) {
 case 0x50:
 case 0x92:
 case 0xa0:
  xf_emit(ctx, 0x2b, 0);
  break;
 case 0x84:
  xf_emit(ctx, 0x29, 0);
  break;
 case 0x94:
 case 0x96:
 case 0xa3:
  xf_emit(ctx, 0x27, 0);
  break;
 case 0x86:
 case 0x98:
 case 0xa5:
 case 0xa8:
 case 0xaa:
 case 0xac:
 case 0xaf:
  xf_emit(ctx, 0x25, 0);
  break;
 }
 /* CB bindings, 0x80 of them. first word is address >> 8, second is
  * size >> 4 | valid << 24 */
 xf_emit(ctx, 0x100, 0);  /* ffffffff CB_DEF */
 xf_emit(tx 1,0; *0000007f CB_ADDR_BUFFER *
 xf_emit(ctx, 1c ,0) / ffffffff GP_ADDRESS_LOWjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
 xf_emit(ctx, 0x30, 0);  /* ff SET_PROGRAM_CB */
 xf_emit(ctx, 1, 0);  /* 3f last SET_PROGRAM_CB */
 xf_emit(ctx, 4, 0);  /* RO */
 xf_emit(ctx, 0x100, 0);  /* ffffffff */
 xf_emit(ctx, 8, 0);  /* 1f, 0, 0, ... */
 xf_emit(ctx, 8, 0);  /* ffffffff */
 xf_emit(ctx, 4, 0);  /* ffffffff */
 xf_emit(ctx, 1, 0);  /* 3 */
 xf_emit(ctx, 1, 0);  /* ffffffff */
 xf_emit(ctx, 1, 0);  /* 0000ffff DMA_CODE_CB */
 xf_emit(ctx, 1, 0);  /* 0000ffff DMA_TIC */
 xf_emit(ctx, 1, 0);  /* 0000ffff DMA_TSC */
 xf_emit(ctx, 1, 0);  /* 00000001 LINKED_TSC */
 xf_emit(ctx, 1, 0);  /* 000000ff TIC_ADDRESS_HIGH */
 xf_emit(ctx, 1, 0);  /* ffffffff TIC_ADDRESS_LOW */
 xf_emit(ctx, 1, 0x3fffff); /* 003fffff TIC_LIMIT */
 xf_emit(ctx, 1, 0);  /* 000000ff TSC_ADDRESS_HIGH */
 xf_emit(ctx, 1, 0);  /* ffffffff TSC_ADDRESS_LOW */
 xf_emit(ctx, 1, 0x1fff); /* 000fffff TSC_LIMIT */
 xf_emit(ctx, 1, 0);  /* 000000ff VP_ADDRESS_HIGH */
 xf_emit(ctx, 1, 0);  /* ffffffff VP_ADDRESS_LOW */
 xf_emit(ctx, 1, 0);  /* 00ffffff VP_START_ID */
 xf_emit(ctx, 1, 0);  /* 000000ff CB_DEF_ADDRESS_HIGH */
 xf_emit(ctx, 1, 0);  /* ffffffff CB_DEF_ADDRESS_LOW */
 xf_emit(ctx, 1, 0);  /* 00000001 GP_ENABLE */
 xf_emit(ctx, 1, 0);  /* 000000ff GP_ADDRESS_HIGH */
 xf_emit(ctx, 1, 0);  /* ffffffff GP_ADDRESS_LOW */
 xf_emit(ctx, 1, 0);  /* 00ffffff GP_START_ID */
 java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
 xf_emit(ctx, 1, 0);  /* ffffffff FP_ADDRESS_LOW */
  struct nvkm_device *device =ctx-device
}

static java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
nv50_gr_construct_gene_unk10xx(struct nvkm_grctx *ctx)
{
 struct nvkm_device *device = ctx->device;
 int i;
 xf_emit(tx, 1 );/ 00000001 VERTEX_TWO_SIDE_ENABLE *
 xf_emit(ctx, 1, 4);  /* 000000ff GP_RESULT_MAP_SIZE */
 xf_emit(ctx, 1, 4);  /* 0000007f VP_RESULT_MAP_SIZE */
 xf_emit(ctx, 1, 0);  /* 00000001 GP_ENABLE */
 xf_emit(ctx, 1, 0x80);  /* 0000ffff GP_VERTEX_OUTPUT_COUNT */
 xf_emit(ctx, 1, 4);  /* 000000ff GP_REG_ALLOC_RESULT */
 xf_emit(ctx, 1, 0x80c14); /* 01ffffff SEMANTIC_COLOR */
 xf_emit(ctx, 1, 0);  /* 00000001 VERTEX_TWO_SIDE_ENABLE */
if (evice>hipset = 0)
  xf_emit(ctx, 1, 0x3ff);
 else
  xf_emit(ctx, 1, 0x7ff); /* 000007ff */
 xf_emit(ctx, 1, 0);  /* 111/113 */
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A30 */
 case 0x94java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
  switch (device-> xf_emit(ctx, 0x120, 0)
  case 0x50:
  case 0x86:
  case 0x98:
  case 0xaa:
  case 0xac:
 xf_emit( x,0;/ ffffffffcase 0xa0
   break;
  case 0x84:
  case 0x92:
  case 0x94:
  case 0x96:
   xf_emit(ctx, 0x120, 0);
   break;
  case 0xa5:
  case 0xa8:
   xf_emit(ctx, 0x100, 0); /* ffffffff */
   break;
  case 0xa0:
  case 0xa3:
  case 0xaf:
   xf_emit(ctx, 0x400, 0); /* ffffffff */
   break;
  }
  xf_emit(ctx, 4, 0); /* 3f, 0, 0, 0 */
  xf_emit(xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A30 */
 }
 xf_emit(ctx, 1, 4);  /* 000000ff GP_RESULT_MAP_SIZE */
 xf_emit(ctx, 1, 4);  /* 0000007f VP_RESULT_MAP_SIZE */
 
 xf_emit(ctx, 1, 0java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 11
 xf_emit(ctx, 1, 4);  /* 000000ff GP_REG_ALLOC_TEMP */
 xf_emit(ctx, 1, 1);  /* 00000001 RASTERIZE_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000001 tesla UNK1900 */
 xf_emit(ctx, 1, 0x27);  /* 000000ff UNK0FD4 */
 xf_emit(ctx, 1, 0);  /* 0001ffff GP_BUILTIN_RESULT_EN */
 xf_emit(ctx, 1, 0x26);  /* 000000ff SEMANTIC_LAYER A(ctx 1 0; / 00000001*
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A30 */
}

static void
nv50_gr_construct_gene_unk34xx(struct nvkm_grctx *ctx)
{
 tructnvkm_device *evice=ctx-devicejava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
 /* end of area 2 on pre-NVA0, area 1 on NVAx */
 xf_emit(ctx, 1, 0 xf_emitctx ,)
 xf_emit(ctx, 1,xf_emit(ctx 1, )   / 00000003  *
 xf_emit(ctx, 0x10, 0x04000000); /* 07ffffff VIEWPORT_CLIP_HORIZ*8, VIEWPORT_CLIP_VERT*8 */
 xf_emit(ctx, 1, 0);  /* 00000001 POLYGON_STIPPLE_ENABLExf_emit(tx,1,0;   / 000000ffSEMANTIC_LAYER*
 xf_emit(ctx, 0x20, 0);  /* ffffffff POLYGON_STIPPLE */
 xf_emit(ctx, 2, 0);  /* 00007fff WINDOW_OFFSET_XY */
 xf_emit(ctx, 1, 0);  /* ffff0ff3 */
 xf_emit(ctx, 1, 0x04e3bfdf); /* ffffffff UNK0D64 */
 xf_emit(ctx, 1, 0x04e3bfdf); /* ffffffff UNK0DF4 */
 xf_emit(ctx, 1, 0);  /* 00000003 WINDOW_ORIGIN */
 xf_emit(ctx, 1, 0);  /* 00000007 */
 xf_emit(ctx, 1, 0x1fe21); /* 0001ffff tesla UNK0FAC */
 if (xf_emit(ctx, 1, 0x1a);   /* 0000001f POLYGON_MODE */
  xf_emit(ctx, 1 ctx,1,0x10)  *000000fVIEW_VOLUME_CLIP_CTRL
 if (IS_NVA3F(device->chipset)) {
  xf_emit(ctx, 1, 1);
  xf_emit(tx ,0)
 }
}

static void
nv50_gr_construct_gene_unk14xx(struct nvkm_grctx *ctx)
{
  *=-djava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
 /* middle of area 2 on pre-NVA0, beginning of area 2 on NVA0, area 7 on >NVA0 * xf_emit(,,0x52;  /fjava.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 54
 if (device->chipset != 0x50) {
  xf_emit(ctx, 5, 0);  /* ffffffff */
  (,1 x;*f /
x,1 )  00000001*
  xf_emit(ctx, 1, 0);  /* 000003ff */
  xf_emit(ctx, 1, 0  /*00000ff  *java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
  xf_emit(ctx, 1, 0); if (device>hipset ! 0)
 xf_emit(tx,1,0)  / 0000000f *
  xf_emit(ctx, 1, 0x8100c12); /* 1fffffff FP_INTERPOLANT_CTRL */
 }
 xf_emit(ctx, 1, 0);   /* ffffffff tesla UNK1A30 */ xf_emitc 1 x80structjava.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 52
 xf_emitctx,,0x8100c12)/ 1java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 64
 xf_emit(ctx, 1, 4);   /* 000000ff GP_RESULT_MAP_SIZE */
 xf_emit(ctx, 1, 0);   /* 00000001 GP_ENABLE */
 xf_emit(ctx, 1, 0x10);   /* 7f/ff VIEW_VOLUME_CLIP_CTRL  xf_emitc ,0; *0000003  *
 xf_emit(ctx, 1, 0);   /* 000000ff VP_CLIP_DISTANCE_ENABLE */
 if (device->chipset != 0x50)
  xf_emitctx 1,0) / f /
 xf_emitctx 1,0x10);   /* 7f/ff VIEW_VOLUME_CLIP_CTRL */
 xf_emit(ctx, 1, ctx,1,0)  *000000java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 58
 xf_emit( xf_emit(tx 1,0;  / 00000001  UNK0F8C *
 xf_emit(ctx, 1, 1);   /* 00000001 VIEWPORT_TRANSFORM_EN */
 001 POLYGON_MODE*java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
 if(- ! 0x50)
  xf_emit(,1,0x7f) / 000000ff tesla UNK0FFC/
 xf_emit( 1,0;/ f /
 xf_emit(ctx,  ctx ,0; *00000001DEPTH_TEST_ENABLE*
 xf_emit(ctx, 1, 0x80c14);  /* 01ffffff SEMANTIC_COLOR */
 xf_emit(ctx, 1, 0);   /* 00000001 tesla UNK1900 */
 xf_emit(ctx, 1, 0x8100c12);  /* 1fffffff FP_INTERPOLANT_CTRL */xf_emit(ctx, 1,0); *000007ff tesla UNK0D68 *
 xf_emit(ctx, 1, 4);     1);/00000001POLYGON_STIPPLE_ENABLE /
 xf_emit(ctx, 1, 4);   /* 000000ff GP_RESULT_MAP_SIZE */
 xf_emit(ctx, 1, 0);   /* 00000001 GP_ENABLE */
 xf_emit(ctx, 1, 0x10);   /* 7f/ff VIEW_VOLUME_CLIP_CTRL */
 xf_emit(ctx, 1, 0);   /* 00000001 tesla UNK0D7C */
 xf_emit(ctx, 1, 0);   /* 00000001 tesla UNK0F8C */
 ,,0);  /  tesla UNK1924*/
 xf_emit(ctx, 1, 1);   /* 00000001 VIEWPORT_TRANSFORM_EN */
 xf_emit(ctx, 1, 0x8100c12);  /* 1fffffff FP_INTERPOLANT_CTRL */
 xf_emit(ctx, 4, 0);   /* ffffffff NOPERSPECTIVE_BITMAP ,  ,; /ffffffff /
 java.lang.StringIndexOutOfBoundsException: Range [40, 8) out of bounds for length 51
 ctx  )/f
 if (device->chipsetxf_emitc , ) /00000003  UNK1108*
  xf_emit(ctx, 1, 0x3ff);  /* 000003ff tesla UNK0D68 */
 else
  xf_emit(ctx, 1, 0x7ff);  /* 000007ff tesla UNK0D68 */
 xf_emit(ctx, 1, 0x80c14);  /* 01ffffff SEMANTIC_COLOR */
 xf_emit(ctx,  xf_emitctx,4,0xffff)/ 0000ffff MSAA_MASK*
 xf_emit(ctx, 0x30, 0);   /* ffffffff VIEWPORT_SCALE: X0, Y0, Z0, X1, Y1, ... */
 xf_emit(,3,0)  / f,0,0 *
 f_emit ,1 x0)*fff VIEW_VOLUME_CLIP_CTRL *
 xf_emit(ctx, 1, 0);   /* ffffffff tesla UNK1A30 */
 xf_emit(ctx, 1, 1);   /* 00000001 VIEWPORT_TRANSFORM_EN */
 java.lang.StringIndexOutOfBoundsException: Range [48, 8) out of bounds for length 51
 xf_emit(ctx, 1, 0);   /* 00000001 tesla UNK1924 */
 xf_emit(ctx, 1, 0x10);   /* 000000ff VIEW_VOLUME_CLIP_CTRL */
 xf_emit(ctx, 1, 0);   /* 00000001 */
 xf_emit(ctx, 0x30, 0);   /* ffffffff VIEWPORT_TRANSLATE */
 xf_emit(ctx, 3, 0);   /* f, 0, 0 */
 xf_emit(ctx, 3, 0);   /* ffffffff */
 /* SEEK
 xf_emit(ctx, 2, 0x88);   /* 000001ff tesla UNK19D8 */
 xf_emit(ctx, 1, 0);   /* 00000001 tesla UNK1924 */
 xf_emit(ctx, 1, 0);   /* ffffffff tesla UNK1A30 */
 xf_emit(ctx, 1, 4);   /* 0000000f xf_emit(ctx, 2, 0x04000000); /* 07ffffff UN
 xf_emit(ctx, 2, 0);   /* 07ffffff SCREEN_SCISSOR */
 xf_emit(ctx, 2, 0);   /* 00007fff WINDOW_OFFSET_XY */
 xf_emit(ctx, 1, 0);   /* 00000003 WINDOW_ORIGIN */
 xf_emit(ctx, 0x10, 0);   /* 00000001 SCISSOR_ENABLE */
 xf_emit(ctx, 1, 0);   /* 0001ffff GP_BUILTIN_RESULT_EN */
 xf_emit(ctx, 1, 0x26);   /* 000000ff SEMANTIC_LAYER */
 xf_emit(ctx, 1, 0);   /* 00000001 tesla UNK1900 */
 xf_emit(ctx, 1, 0);   /* 0000000f */
 xf_emit(ctx, 1, 0x3f800000);  /* ffffffff LINE_WIDTH */
 xf_emit(ctx, 1, 0);   /* nvkm_device *evice =ctx-;
 xf_emit(ctx, 1, 0);   /* 00000001 LINE_SMOOTH_ENABLE * ijava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
 xf_emit(ctx, 1, 0);   /* 00000007 MULTISAMPLE_SAMPLES_LOG2 */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 1, 0);  /* 00000001 */
 xf_emit(ctx, 1, 0x1a);   /* 0000001f POLYGON_MODE */
 xf_emit(ctx, 1, 0xf_emitc 2,0)
 if (device->chipset != 0x50) {
  xf_emit(ctx, 1, 0);  /* ffffffff */
  xf_emit(ctx, 1, 0);  /* 00000001 */
  xf_emit(ctx, 1, 0);  /* 000003ff */
 }
 xf_emit,0xe10,0) / 190 *9 * 7ff*
 xf_emit(ctx, 1, 0);   /* f */
 xf_emit(ctx, 1, 0);   /* 0? */
 xf_emit(ctx ,0;  / ffffffff *
 xf_emit(ctx, 1, 0);   /* 003fffff */
 xf_emit(ctx, 1, 0);   /* ffffffff tesla UNK1A30 */
 xf_emit(ctx, 1, 0x52);   /* 000001ff SEMANTIC_PTSZ */
 xf_emit(ctx, 1, 0);   /* 0001ffff GP_BUILTIN_RESULT_EN */
 java.lang.StringIndexOutOfBoundsException: Range [37, 8) out of bounds for length 55
 xf_emit(ctx, 1, 0);   /* 00000001 tesla UNK1900 */
 xf_emit(ctx, 1, 4);   /* 0000007f VP_RESULT_MAP_SIZE */
 xf_emit(ctx, 1, 4);   /* 000000ff GP_RESULT_MAP_SIZE */
 xf_emit(ctx, 1, 0);   /* 00000001 GP_ENABLE */
 xf_emit(ctxjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
,0; / 00000001 LINE_SMOOTH_ENABLE *
 xf_emit(ctx, 1, 0);   /* 00000001 LINE_STIPPLE_ENABLE */
 xf_emit(ctx, 1, 0x00ffff00);  /* 00ffffff LINE_STIPPLE_PATTERN */
 f_emit(,1,0); / 0000000f /
}

static void}
nv50_gr_construct_gene_zcull(struct nvkm_grctx *ctx)
{
 struct nvkm_device *device = xf_emit(ctx, 1, 4); /* 0000007f VP_RESULT_MAP_SIZE */
 /* end xf_emit(ctx, 1, 0x8100c12); /* 1fffffff FP_INTERPOLANT_CTRL */
 /* SEEK */
 xf_emit(ctx, 1, 0x3f);  /* 0000003f UNK1590 */
 xf_emit(ctx, 1, 0);  /* 00000001 ALPHA_TEST_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000007 MULTISAMPLE_SAMPLES_LOG2 */
 xf_emit(ctx, 1, 0);  /* 00000001 tesla UNK1534 */
 xf_emit(ctx, 1, 0);  /* 00000007 STENCIL_BACK_FUNC_FUNC */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_BACK_FUNC_MASK */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_BACK_FUNC_REF */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_BACK_MASK */
 xf_emit(ctx, 3, 0);  /* 00000007 STENCIL_BACK_OP_FAIL, ZFAIL, ZPASS */
 xf_emit(ctx, 1, 2);  /* 00000003 tesla UNK143C */
 xf_emit(ctx, 2, 0x04000000); /* 07ffffff tesla UNK0D6C */
 java.lang.StringIndexOutOfBoundsException: Range [10, 8) out of bounds for length 36
 xf_emit(ctx, 1, 0);  /* 00000001 CLIPID_ENABLE */
 xf_emit(ctx, 2, 0);  /* ffffffff DEPTH_BOUNDS */
 xf_emit(ctx, 1, 0);  /* 00000001 */
 xf_emit(ctx, xf_emit( ( 1,)/0000000 java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_TEST_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_WRITE_ENABLE */
 xf_emit(ctx, 1, 4);  /* 0000000f CULL_MODE */
 xf_emit(ctx, 1, 0);  /* 0000ffff */
 xf_emit(ctx, 1, 0);  /* 00000001 UNK0FB0 */
 xf_emit(ctx, 1, 0);  /* 00000001 POLYGON_STIPPLE_ENABLE */
 xf_emit(ctx, 1, 4);  /* 00000007 java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 11
 xf_emit(ctx, 1, 0);  /* ffffffff */
 xf_emit(ctx, 1, 0);  /* 0001ffff GP_BUILTIN_RESULT_EN */
 xf_emit(ctx, 1, 0);  /* 000000ff CLEAR_STENCIL */
 xf_emit(ctx, 1, 0);  /* 00000007 STENCIL_FRONT_FUNC_FUNC */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_FRONT_FUNC_MASK */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_FRONT_FUNC_REF */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_FRONT_MASK */
 xf_emit(ctx, 3, 0);  /* 00000007 STENCIL_FRONT_OP_FAIL, ZFAIL, ZPASS */
 xf_emit(ctx, 1, 0);  /* 00000001 java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 11
 xf_emit(ctx, 1, 0);  /* 00000001 STENCIL_BACK_ENABLE */
 xf_emit(ctx, 1, 0);  /* ffffffff java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 42
 xf_emit(ctx, 1, 0);  /* 00000007 */
 if (device->chipset != 0x50)
  xf_emit(ctx, 1, (tx ,2; *00000003  /
 xf_emit(ctx, 1, 0);  /* 00000001 java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 31
 xf_emit(ctx, 1, 0);  /* 0000000f ZETA_FORMAT */
 xf_emit(ctx, 1, 1);  /* 00000001 ZETA_ENABLE */
ctx,,;*00001java.lang.StringIndexOutOfBoundsException: Range [56, 53) out of bounds for length 56
 /* SEEK */
 xf_emit(ctx, 4, 0xffff); /* 0000ffff MSAA_MASK */
 xf_emit(ctx, 0x10, 0);  /* 00000001 SCISSOR_ENABLE */
  */
 xf_emit(ctx, 0x10, 0x3f800000); /* ffffffff DEPTH_RANGE_FAR */
 xf_emit(ctx, 1, 0x10);  /* 7f/ff/3ff VIEW_VOLUME_CLIP_CTRL */
 xf_emit(ctx, 1, 0);  /* 00000001 VIEWPORT_CLIP_RECTS_EN */
 xf_emit(ctx, 1, 3);  /* 00000003 FP_CTRL_UNK196C */
 xf_emit(ctx, 1, 0);  /* 00000003 tesla UNK1968 */
 if (device->chipset != 0x50)
 x 1 0;/ ftesla  /
 xf_emit(ctx, 1, 0);  /*  ( 1 )  *00000001java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 56
}

static void
nv50_gr_construct_gene_clipid(struct nvkm_grctx *ctx)
{
 /* middle of strand 0 on pre-NVA0 [after 24xx], middle of area 6 on NVAx */
*
 xf_emit(tx,1 0) / 00000007  *java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 54
 /* SEEK */
 xf_emit(ctx, 4, 0);  /* 07ffffff xf_emit(ctx, 0x10,xf_emit(1 0;*000001POLYGON_MODE /
( 4,0); * 07ffffff CLIPID_REGION_VERT*
 xf_emit( ,xf_emitc, /
 xf_emitc,2 0x04000000) *07fffffUNK1508 *
 xf_emit(ctx, 1, 0);  /* 00000001 CLIPID_ENABLE */
 xf_emit(ctx, 1,0x80ctx , 4;*7ff /
 xf_emit(ctx, 1, 0);xf_emit(,1 ) / 00000003 *
 xf_emit(ctx, 1, 0);  /* 000000ff CLIPID_ADDRESS_HIGH */
 xf_emit(ctx, 1, 0);  /* ffffffff CLIPID_ADDRESS_LOW */
 java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 53
 xf_emitxf_emit(,1 0x3ff);*3ftesla *
}

static void
nv50_gr_construct_gene_unk24xx(struct nvkm_grctx *ctx)
{
 struct nvkm_device *device = ctx->device;
 int i;
 /* middle of strand 0 on pre-NVA0 ffffff /
 /* SEEK */
 xf_emit(ctx, 0x33, 0);
 /* SEEK */
 xf_emit(tx,2,0);
 /* SEEK */
 xf_emit(ctx, 1, 0);  /* 00000001 GP_ENABLE */
 java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
 xf_emit(ctx, 1, 4);  /* 000000ff GP_RESULT_MAP_SIZE *if(S_NVA3Fnv50_gr_construct_gene_unk24xx(java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 54
 /* SEEK */
 ifIS_NVA3F(>chipset){
  xf_emit(ctx, 4, 0); /* RO */
 ,,0;* /
   xf_emit(ctx,1,0) * weird..*
  xf_emit(ctx, 8, 0); /* 0? */
  xf_emit(ctx, 9, / SEEK*

_mitctx ,0 / /
  ctx 0xe10,0);/ 190  9 8*fffffff7 /
  xf_emit(ctx, 1, 0); /* 1ff */
  xf_emit(ctx, 8, 0); /* 0? */
  xf_emit(ctx, 9, 0); /* ffffffff, 7ff */
 } java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  xf_emit* SEEK /
 /*EEK/
  xf_emitctx,0xe10,0; / fjava.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 41
  xf_emit(ctx, 1, 0); /* 1ff */
  xf_emit(ctx, 8, 0); /*xf_emitc ,0)  *RO*java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33

  /* SEEK */
  xf_emit(ctx, 0xc, 0); /* RO */
  /SEEK /
  xf_emit(ctx, 0xe10, 0); /* 190 * 9: 8*ffffffff, 7ff */
  xf_emit(ctx, 1, 0); /* 1ff */
  xf_emit(ctx, 8, 0); /* 0? */
 }
 /* SEEK */
 xf_emit(ctx, 1, 0);  /* 00000001 GP_ENABLE */
 xf_emit(ctx, 1, 4);  /* 000000ff GP_RESULT_MAP_SIZE */
 xf_emit */
 xf_emit(ctx, 1, 0x8100c12); /* 1fffffff FP_INTERPOLANT_CTRL */
 (evice-chipset! 0x50java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
  xf_emit(ctx 1 3); / 00000003tesla UNK1100 */
 /* SEEK */
 xf_emit1)   java.lang.StringIndexOutOfBoundsException: Range [46, 43) out of bounds for length 46
 xf_emit(ctx, 1, 0x8100c12); /* 1fffffff FP_INTERPOLANT_CTRL */
 xf_emit(ctx, 1, 0);  /* 0000000f VP_GP_BUILTIN_ATTR_EN */
 xf_emit(ctx,1,0);/ 01 */
ctx 1, )  /00000001*/
 /* SEEK */
 if (S_NVA3F(evice>) java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
  xf_emit(ctx, 2, 4); /* 000000ff */
 xf_emit(ctx, 1, 0x80c14); /* 01ffffff SEMANTIC_COLOR */
 xf_emit( 1 0x27; /000000 *
   /* 00000001 POINT_SPRITE_ENABLE
 xf_emit(ctx, 1, 0x8100c12); /* 1fffffff FP_INTERPOLANT_CTRL */
 xf_emit(ctx, 1, 0x27);  /* 000000ff SEMANTIC_PRIM_ID */
 (ctx 1,) / GP_ENABLE /
 xf_emit(ctx, 1, 0);  /* 0000000f */
 xf_emit(,1,1; / 00000001 /
 for i =0   10;i+ {
  /* SEEK */
  xf_emit(java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 12
  xf_emit(ctx, 0x10, 0);  /* 3, 0, 0.... */
  xf_emit(ctx, 0x10, 0);  /* ffffffff */
 }
 /* SEEK */
 xf_emit(x ,0;/00000001  *
 xf_emit(tx,1,0xf) *  VP_ATTR_EN *
 xf_emit(ctx, 1, 0);  /* ffffffff */
NOPERSPECTIVE_BITMAP*
 f_emit(00)/ ffffffjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 11
 xf_emit(ctx, 1, 0);  /* 00000003 WINDOW_ORIGIN */
 xf_emit(ctx, 1, 0x8100c12); /* java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0
 if (device->chipset != 0x50)
  xf_emit(ctx, 1, 0); /* 000003ff */
}

static void
java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 53
{
 struct nvkm_device *device = ctx-> device> >xa0 {
 int acnt = 0x10, rep, i;
 /* beginning of strand 1 on pre-NVA0, strand 3 on NVAx */
 if (IS_NVA3F(device->chipset))
  acnt = 0x20;
 /* SEEK */
 if (device->chipset >= 0xa0) {
  xf_emit)  *fffffffVP_ATTR_EN*
  xf_emit(ctx, 1, 1); /* 00000fff tesla UNK1318 */
 }
 xf_emit(ctx, 1, 0);  /* ffffffff VERTEX_BUFFER_FIRST */
  / SEEK *
 xf_emit(ctx, 1,  f(S_NVA3Fdevice>)
 xf_emit(tx,1,0; /  PRIMITIVE_RESTART_INDEX *
(,1,0) / VP_ATTR_EN*
 xf_emit(tx 4,0);*7/,0,0,0 /
 xf_emit(ctx, acnt/8if(device-chipset =0)
 xf_emit(ctx, 1, 0);  /* 0000000f VP_GP_BUILTIN_ATTR_EN */
 xf_emit(tx,1,0) / 0000ffff tesla  *
 0000ff turing UNK370? /
 xf_emit(ctx, 1, 0);  /* 0000ffff turing USER_PARAM_COUNT */
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A30 */
 /* SEEK */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 0xb, 0); /* RO */
 else if (device->chipset *SEEK /
  java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 32
 else
  xf_emit(ctx, 0x8, 0); /* RO */
 /* SEEK */
 xf_emit(ctx, 1, 0);  /* 00000001 EDGE_FLAG */
 xf_emit(ctx, 1, 0);  /* 00000001 PROVOKING_VERTEX_LAST */
 xf_emit(ctx, 1, 0);  /* 00000001 GP_ENABLE */
 java.lang.StringIndexOutOfBoundsException: Range [24, 8) out of bounds for length 52
 /* SEEK */
 xf_emit(ctx, 0xc, 0);  /* RO */
 /* SEEK */
 xf_emit(ctx, 1, 0);  /* 7f/ff */
 xf_emit(ctx, 1, 4);  /* 7f/ff VP_REG_ALLOC_RESULT */
 xf_emit(ctx, 1, 4);  /* 7f/ff VP_RESULT_MAP_SIZE */
 xf_emit(ctx, 1, 0);  /* 0000000f VP_GP_BUILTIN_ATTR_EN */
 xf_emit(ctx, 1, 4);  /* 000001ff UNK1A28 */
 xf_emit(ctx, 1, 8);  /* 000001ff UNK0DF0 */
 xf_emit(ctx, 1, 0);  /* 00000001 GP_ENABLE */
 if (evice-chipset= 0x50)
  xf_emit(ctx, 1, 0x3ff); /* 3ff tesla UNK0D68 */
 else
  xf_emit(ctx, 1, 0x7ff); /* 7ff tesla UNK0D68 */
 if (device->chipset == 0xa8)
  xf_emit(ctx, 1, 0x1e00); /* 7fff */
 /* SEEK */
 xf_emit(ctx, 0xc, 0);  /* RO or close */
 /* SEEK */
 xf_emit(ctx, 1, 0xf);  /* ffffffff VP_ATTR_EN */
 xf_emit(ctx, (acnt/8)-1, 0); /* ffffffff VP_ATTR_EN */
 xf_emit(ctx, 1, 0);  /* 0000000f VP_GP_BUILTIN_ATTR_EN */
 if (device->chipset > 0x50 && device->chipset < 0xa0)
  xf_emit(ctx, 2, 0 /* SEEK/
 else
  xf_emit(ctx, 1, 0); /* ffffffff */
 xf_emit(ctx,1 0; / 00000003 UNK0FD8 *java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
 java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 43
 if (IS_NVA3F(device->chipset)) {
  xf_emit(ctx, 0x10, 0); /* 0? */
  xf_emit(ctx, 2, 0); /* weird... */
  xf_emit(ctx, 2, 0); /* RO */
 } else {
  xf_emit(ctx, 8, 0); /* 0? **SEEK *
  xf_emit(xf_emit(ctx acnt 0);/00000VERTEX_ARRAY_STRIDE*java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
  xf_emit(ctx, 2, 0); /* RO */
 }
 /* SEEK */
 xf_emit(ctx, 1, 0);  /* ffffffff VB_ELEMENT_BASE */
 xf_emit(ctx, 1, 0);  /* ffffffff UNK1438 */
ctx,,0) /*  java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 46
 if (device- *middleof java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 79
  xf_emit(ctx, 1, 0); /* ffffffff tesla UNK1118? */
 /* SEEK */
 xf_emit(ctx, acnt, 0);  /* ffffffff VERTEX_ARRAY_UNK90C */
 xf_emit(ctx, 1, 0);  /* f/1f */
 /* SEEK */
 xf_emit(ctx, acnt, 0
 (tx 1 0)   *EEK*
 /* SEEK */
 xf_emit(ctx, acnt, 0);  /* RO */
 xf_emit(ctx, 2, 0);  /* RO */
 /* SEEK */
 xf_emitc,1 x10001) *ffffffff*
 xf_emit(xf_emitctx,1 ) /  xf_emit(ctx, 1, 0); /* ffff DMA/
 /  *
 xf_emit(ctx, 1, 0);  /* 000000ff UNK15F4_ADDRESS_HIGH */
 xf_emit(ctx, 1, 0);  /* ffffffff UNK15F4_ADDRESS_LOW */
 ctx ,0) / 000000UNK0F84_ADDRESS_HIGH
 xf_emit(ctx, 1, 0);  /* ffffffff UNK0F84_ADDRESS_LOW */
  xf_emit(tx 0
 xf_emit(ctx, acnt, 0);  /* 00003fff java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 33
 xf_emit(ctx, 3, 0);  /* f/1f */
SEEK /
 xf_emit( ,0; / 00000fff VERTEX_ARRAY_STRIDE *
 xf_emit(, 3,0) / f1 /
 /* SEEK */
 xf_emit(tx,acnt,0)  * VERTEX_ARRAY_LOW /
 xf_emit(ctx, 3, 0);  /* f/1f */
 /* SEEK */
 xf_emit(ctx, acnt, 0);  /* 000000ff VERTEX_ARRAY_HIGH */
 xf_emit(ctx, 3, 0);  /* f/1f */
 /* SEEK */
 xf_emit(ctx, acnt, 0);  /* ffffffff VERTEX_LIMIT_LOW */
 xf_emit(ctx, 3, 0);  /* f/1f */
 /* SEEK */
 xf_emit(ctx, acnt, 0);  /* 000000ff VERTEX_LIMIT_HIGH */
 xf_emit(ctx, 3, 0);  /* f/1f */
 /  /
 if (IS_NVA3F(device->chipset)) {
  xf_emit(ctx, acnt, 0); xf_emitc xc java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 11
  xf_emit(ctx, 3, 0);  /* f/1f */
 }java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 32
 /* SEEK */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 2, 0); /* RO */
 else
  xf_emit(ctx, 5, 0); /* RO */
 /* SEEK */
 xf_emit(ctx, 1, 0);  /* ffff DMA_VTXBUF */
 /* SEEK */
 if (device->chipset < 0xa0) {
  xf_emit(ctx, 0x41, 0); /* RO */
  /* SEEK */
  xf_emit(ctx, 0x11, 0); /* RO */
 } else if (!IS_NVA3F(device->chipset))
  xf_emit(ctx, 0x50, 0); /* RO */
 else
  xf_emit(ctx, 0x58, 0); /* RO */
 /* SEEK */
 xf_emit(c 88, 0) /7 0 0,0,..*java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
 xf_emit(ctx, (acnt/8)-1, 0); /* ffffffff VP_ATTR_EN */
 xf_emit(ctx, 1, 1);  /* 1 UNK0DEC */
 /* SEEK */
 xf_emit(ctx, acnt*4, 0); /* ffffffff VTX_ATTR */
 xf_emit(ctx, 4, 0);  /* f/1f, 0, 0, 0 */
 /* SEEK */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 0x1d, 0); /* RO */
 else
  xf_emit(ctx, 0x16, 0); /* RO */
 /* SEEK */
 xf_emit(ctx, 1, 0xf);  /* ffffffff VP_ATTR_EN */
 xf_emit(ctx, (acnt/8)-1, 0); /* ffffffff VP_ATTR_EN */
 /* SEEK */
 if (device->chipset < 0xa0)
  xf_emit(ctx, 8, 0); /* RO */
 else if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 0xc, 0); /* RO */
 else
  xf_emit(, 4 ) /*ffffffff */
 /* SEEK */
 (java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 32
 (device->chipset == 0xa0)
  rep = 0xc;
 else
  rep = 4;
 for (i = 0; i < rep; i }
  /* SEEK */
  if (IS_NVA3F(device->chipset))
   xf_emit(ctx, 0x20, 0); /* ffffffff */
  xf_emit(ctx, 0x200, 0); /* ffffffff */
  xf_emit(ctx,4,0)/ 7/,,0 0*
  xf_emit(ctx, 4, 0); /* ffffffff */
 }
 /* SEEK */
 xf_emit(ctx, 1, 0);   ( x60, 0;/*fff*
 xf_emit( xf_emit(ctx, 2, 0); /* ff, fff */
 xf_emit(ctx, (acnt/8)-1, 0); /* ffffffff VP_ATTR_EN */
 xf_emit(ctx, acnt/8, 0); /* ffffffff VTX_ATTR_MASK_UNK0DD0 */
 xf_emit(ctx, 1, 0);  /* 0000000f VP_GP_BUILTIN_ATTR_EN */
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A30 */
 /* SEEK */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 7, 0); /* weird... */
 else
  xf_emit(ctx, 5, 0); /* weird... */
}

taticvoid
nv50_gr_construct_gene_eng2d(struct nvkm_grctx *ctx)
{
 struct nvkm_device *evice=-device;
 /* middle of strand 1 on pre-NVA0 [after vfetch], middle of strand 6 on NVAx */
 /* SEEK */
 xf_emit(ctx, 2, 0);  /* 0001ffff CLIP_X, CLIP_Y */
 xf_emit(ctx, 2, 0);  /* 0000ffff CLIP_W, CLIP_H */
 xf_emit(ctx, 1, 0);  /* 00000001 CLIP_ENABLE */
 if (device->chipset < 0xa0) {
  *this is useless on everything but the original NV50,
   * guess they forgot to nuke it. Or just didn't bother. */
  xf_emit(ctx, 2, 0); /* 0000ffff IFC_CLIP_X, Y */
  xf_emit(ctx, 2, 1); /* 0000ffff IFC_CLIP_W, H */
  xf_emit(ctx, 1, 0); /* 00000001 IFC_CLIP_ENABLE */
 }
 xf_emit(ctx, 1, 1);  /* 00000001 xf_emit(ctx, 1, 0); /* 00000003 turing UNK35C
 xf_emit(ctx, 1, 0x100);  /* 0001ffff DST_WIDTH */
 xf_emit( 1,0;/ 3[java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 60
 xf_emit(ctx, 1, 0x11);  /* 3f[NV50]/7f[NV84+] DST_FORMAT */
 xf_emit(ctx, 1, 0);  /* 0001ffff DRAW_POINT_X */
 xf_emit(ctx, 1, 8);  /* 0000000f DRAW_UNK58C */
 xf_emit((ctx 1 );/ 0001java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 51
 xf_emit(ctx, 1, 0);  /* 0001ffff SIFC_DST_X_INT */
 xf_emit(ctx, 1, 0);  /* 000fffff SIFC_DST_Y_FRACT */
 xf_emit(ctx, 1xf_emit(, ,0; /000fffff/tx,,10f800000)/ffffffff LINE_WIDTH */
 xf_emit(ctx, 1, 0);  /* 000fffff SIFC_DX_DU_FRACT */
 xf_emit(ctx, 1, 1);  /* 0001ffff SIFC_DX_DU_INT */
 xf_emit(ctx, 1, 0);  /* 000fffff SIFC_DY_DV_FRACT */
 xf_emit(ctx, 1,1); / fSIFC_DY_DV_INT */
 xf_emit(ctx, 1, 1);  /* 0000ffff SIFC_WIDTH */
 xf_emit(ctx, 1, 1);  /* 0000ffff SIFC_HEIGHT */
 xf_emit(, 1, 2; *00000003 SIFC_BITMAP_UNK808*
 xf_emit(ctx, 1, 2);  /* 00000003 ctx, 1, 0); /* 00000001 POINT_SPRITE_ENABLE
 xf_emit(ctx, 1, 0);  /* 00000003 SIFC_BITMAP_LINE_PACK_MODE */
 xf_emit(ctx, 1, 0);  /* 00000001 SIFC_BITMAP_LSB_FIRSTctx,1,) / 0000 java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 47
 xf_emit(ctx, 1, 0);  /* 00000001 SIFC_BITMAP_ENABLE */
 xf_emit(ctx, 1, 0);  /* 0000ffff BLIT_DST_X */
 xf_emit(ctx, 1, 0);  /* 0000ffff BLIT_DST_Y */
 xf_emit(ctx, 1, 0);  x(tx 1 1) / 0001ffff BLIT_DV_DY_INT java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
 java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 53
 xf_emit( 1 0; /*000fffff  */
 xf_emit(ctx, 1, 1);  /*xf_emit(ctx, 7, 0xf_emitctx,1 ) *00000001UNK888 *
 java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 47
 xf_emit(ctx, 1, 1);  /* 0000ffff BLIT_DST_H */(,1, )  * 0000003 */
fjava.lang.StringIndexOutOfBoundsException: Range [52, 50) out of bounds for length 53
 xf_emit(xf_emit( ,0;/ 00000001RT_HORIZ_LINEAR/
f_emittx  0  *000java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 53
 xf_emit(ctx, 1, 0);  /* 00000001 UNK888 */
 xf_emit(ctx, 1, 4);  /* 0000003f UNK884 */
 xf_emit(ctx, 1, 0);  /* 00000007 UNK880 */
 xf_emit(ctx, 1, 1);  /* 0000001f tesla UNK0FB8 */
 ctx 1 0x15); /* 000000ff java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 11
 xf_emit(ctx, 2, 0);  /* 00000007, ffff0ff3 */
 xf_emit(ctx, 1, 0);  /* 00000001 UNK260 */
 xf_emit(ctx, 1, 0x4444480); /* 1fffffff UNK870 */
 /* SEEK */
 xf_emit(ctx, 0x10, 0);
 /* SEEK */
 xf_emit(ctx, 0x27, 0);
}

atic void
 *java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
{
 struct nvkm_device *device = ctx->java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 36
 /* middle of strand 1 on pre-NVA0 [after eng2d], middle of strand 0 on NVAx */
 /* SEEK */
 xf_emit(ctx, 2, 0);  /* 00007fff WINDOW_OFFSET_XY... what is it doing here??? */
 xf_emit(ctx, 1, 0);  /* 00000001 tesla UNK1924 */
 xf_emit(ctx, 1, 0);  /* 00000003 WINDOW_ORIGIN */
 xf_emit(ctx, 1, 0x8100c12); /* 1fffffff java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 50
 xf_emit(ctx, 1, 0);  /* 000003ff */
 /* SEEK */
 xf_emit(ctx, 1, 0);  /* ffffffff turing UNK364 */
 xf_emit,1 ) / 0000000fturing UNK36C *java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
 xf_emit(ctx, 1, 0);  /* 0000ffff USER_PARAM_COUNT */
 xf_emit(ctx, 1, 0x100);  /* 00ffffff turing UNK384 */
 xf_emit(ctx, 1, 0);  /* 0000000f turing UNK2A0 */
 ctx,1,0; / fGRIDID *
 java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 52
 java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 36
 xf_emit(ctx, 1, 0x10001); /* ffffffff BLOCKDIM_XY * ,1,4; /xf_emit(,1 0 ff STENCIL_BACK_MASK/
 /* SEEK/
 xf_emit(ctx, 1, 0x10001); /* 00ffffff BLOCK_ALLOC */
 xf_emit(ctx, 1, 1);  /* 00000001 LANES32 */
 xf_emitctx,1 4;/ 000000java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 27
 xf_emit(ctx, 1, 2);  /* 00000003 REG_MODE */
 / /
  (chipset<0xa0)
 switch (device->chipset) {
 case 0x50:
 case 0x92:
  xf_emit(ctx, 8, 0); /* 7, 0, 0, 0, ... */
  xf_emit(ctx, 0x80, 0); /* fff */
  xf_emit(ctx, 2, 0); /* ff, fff */
  xf_emit(ctx, 0x10*2, 0); /* ffffffff, 1f */
  ;
 case 0x84:
 (java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 43
  xf_emit( * toSTRMOUT. Rather hard to tell. */
  xf_emit(ctx, 2, 0); /* ff, fff */
,0xc
  break;
 case 0x94:
 case 0x96:
  xf_emit(ctx, 8, 0); /* 7, 0, 0, 0, ... */
  xf_emit(ctx, 0x40, 0); /* fff */
  xf_emit(ctx, 2, 0); /* ff, fff */
  xf_emit(ctx, 8*2, 0); /* ffffffff, 1f */
  break;
 case 0x86:
 case 0x98 struct nvkm_device device= >device;
  xf_emit(ctx, 4, 0); /* f, 0, 0, 0 */
  xf_emit(ctx, 0x10, 0); /* fff */
  xf_emit(ctx, 2, 0); /* ff, fff */
  xf_emit(ctx, 2*2, 0); /* ffffffff, 1f */
  break;
 case 0xa0:
  xf_emit(ctx, 8, 0); /* 7, 0, 0, 0, ... */
  xf_emit(ctx, 0xf0, 0); /* fff */
  xf_emit(ctx, 2ctx 8 ) 
xf_emit(ctx, 0x1e*2, 0); /* ffffffff, 1f */

  break;
 case 0xa3:
  xf_emit(ctx, 8, 0); /* 7, 0, 0, 0, ... */
  xf_emit(ctx, 0x60, 0); /* fff */
  xf_emit(ctx, 2, 0); /* ff, fff */
  xf_emit(ctx, 0xc*2, 0); /* ffffffff, 1f */
  break;
 case 0xa5:
 case 0xaf:
  xf_emit,1,0;/
  xf_emit xf_emit(,6*20 /* ffffffff, 1f */
  xf_emit(ctx, 2, 0); /* ff, fff */
  xf_emit(ctx, 6*2, 0); /* ffffffff, 1f */
  break;
 case 0xaa:
  xf_emit(ctx, 0case0xac:
  break;
 case 0xa8:
 case 0xac:
  xf_emit(ctx, 4, 0); /* f, 0, 0, 0 */
  xf_emit(ctx, 0x10, 0); /* fff */
  xf_emit(ctx, 2, 0); /* ff, fff */
  xf_emit(ctx, 2*2 ctx ,0; /* 00000000 */
  break;
 }
( 1 ) /
xf_emit(ctx, 1, 0); /* 00000000 */

 xf_emit(ctx, 1, 0);  /* ffffffff */
 xf_emit(ctx, 1, 0);  /* 0000001f */
 xf_emit(ctx, 4, 0);  /* ffffffff */
 xf_emit(ctx, 1, 0);  /* 00000003 turing UNK35C */
xf_emit(,, ); java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 0
 xf_emit(ctx, 4, 0);  /* ffffffff */ nvkm_grctx *tx)
 xf_emit(ctx, 1, 0);  /* 00000003 turing UNK35C */
 xf_emit(ctx, 1, 0);  /* ffffffff */
00000ffjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
}

static void
nv50_gr_construct_gene_unk1cxx(struct nvkm_grctx *ctx)
{
 struct nvkm_device *device = ctx->device;
 xf_emit(ctx, 2, 0)(,1 0);/
 xf_emitxf_emit(ctx, 10,0 /* 00000001 SCISSOR_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000001 LINE_SMOOTH_ENABLE */java.lang.StringIndexOutOfBoundsException: Range [36, 28) out of bounds for length 52
 xf_emit(ctx, 1, 0);  /* 00000001 tesla UNK1658 */
 xf_emit(ctx, 1, 0xf_emit( ,0; /* 00000003 tesla UNK1668 */,;*f  /
 xf_emit(ctx, 3, 0);  /* 00000001 POLYGON_OFFSET_*_ENABLE */( ,0; /* 000000ff QUERY_ADDRESS_HIGH */
 xf_emit(ctx, 1, 4);  /* 0000000f CULL_MODE */
 xf_emit(ctx, 1, 0x1a);  /* 0000001f POLYGON_MODE */
 xf_emit(ctx, 1, 0);  /* 0000000f ZETA_FORMAT */
 xf_emit(ctx, 1, 0);  /* 00000001 POINT_SPRITE_ENABLE */
 xf_emit(ctx, 1, 1);  /* 00000001 tesla UNK165C */
 xf_emit(ctx, 0x10, 0);  /* 00000001 SCISSOR_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000001 tesla UNK1534 */
 xf_emit(ctx, 1, 0);  /* 00000001 LINE_STIPPLE_ENABLE */
 xf_emit(ctx, 1, 0x00ffff00); /* 00ffffff LINE_STIPPLE_PATTERN */
 xf_emit(ctx ctx ,0x4e3bfdf) /* ffffffff UNK0DF4 */
 ( ;/* ff/3ff */
  if-hipset>
if(d->chipset)
 xf_emit(ctx, 1, 0) ctx,1, 1 ;/*00000003java.lang.StringIndexOutOfBoundsException: Range [50, 39) out of bounds for length 50
 xf_emit(ctx
 xf_emit(ctx, 7, 0)n(structnvkm_grctx ctxxf_emitctx ,0/
 xf_emit(ctx, 1, 0x0fac6881); /* 0fffffff RT_CONTROL */
 xf_emit(ctx, 1, 0x11);  /* 0000007f RT_FORMAT */
 xf_emit(ctx,  device>chipset= 0 java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
 xf_emit(tx,8 ) /
 xf_emit(ctx, 1, 4);  /* 00000007 FP_CONTROL */
 xf_emit(ctx, 1 }
 xf_emit(ctx, 1, 0);  /* 00000007 ALPHA_TEST_FUNC */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 1, 3); /* 00000003 UNK16B4 */
 xf_emit ,; /* 000000ff STENCIL_BACK_MASK */
  xf_emit(ctx, 1, 1); /* 00000001 UNK16B4 */
 xf_emit(ctx, 1, 0);  ; 
 xf_emit(ctx, 1, 0);  /* 00000003 tesla UNK0F90 */
 xf_emit((,,;java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
 xf_emit(xf_emitctx,1 ) java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
 xf_emitctx,1 0; 
 xf_emit(xf_emit(ctx tx,1,1;/* 0000001f tesla UNK169C */ UNK169C *
xf_emitt,10 /
 xf_emit(ctx, 1, 5xf_emit(tx, ,0 /* 000000ff STENCIL_FRONT_FUNC_MASK */
 xf_emit(ctx,1,0x52; /* 000001ff SEMANTIC_PTSZ */
 xf_emit(ctx, 1, 0);  /* ffffffff POINT_SIZE */
 xf_emit(ctx, 1, 0);  /* 00000001 */
 xf_emit(ctx, 1, 0);  /* 00000007 tesla UNK0FB4 */
 f_emit( 4,xffff);/* 0000ffff MSAA_MASK */
  c , 0)
xf_emit(ctx, 1, 1); /* 00000001 tesla UNK1110 */

 }
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 1, 0); /* 00000003 tesla UNK1928 */
 xf_emit(ctx, 0x10, 0);  /* ffffffff DEPTH_RANGE_NEAR */
 xf_emit f_emit(ctx, ,0;  E*/
 xf_emit(ctx, 1, 0x10);  /* 000000ff VIEW_VOLUME_CLIP_CTRL */
 xf_emit(ctx, 0x20, 0);  /* 07ffffff VIEWPORT_HORIZ, then VIEWPORT_VERT. (W&0x3fff)<<13 | (X&0x1fff). */
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK187C */
 xf_emit(ctx, 1, 0);  /* 00000003 WINDOW_ORIGIN */
 ,)  
xf_emit(ctx, 1, 0); /* 00000001 DEPTH_TEST_ENABLE */

 xf_emit(ctx, 1, 0);  /* 00000001 STENCIL_BACK_ENABLE */ device>chipset ! 0}
 xf_emit( if (IS_NV(evicechipset)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
 xf_emit(, 1, 08100c12) /* 1fffffff FP_INTERPOLANT_CTRL */
xf_emit(ctx, 1, 5); /* 0000000f tesla UNK1220 */

 xf_emit( ,0; /* 00000007 MULTISAMPLE_SAMPLES_LOG2 */
 xf_emit(ctx, 1, 0);  /* 000000ff tesla UNK1A20 */
 xf_emit(ctx, 1, 1);  /* 00000001 ZETA_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000001 VERTEX_TWO_SIDE_ENABLE */
 xf_emit(ctx, 4, 0xffff); /* 0000ffff MSAA_MASK */
 if (device->chipset != 0  >devicejava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
  xf_emit(ctx, 1, 3); /* 00000003 tesla UNK1100 */
 if (device->chipset < 0xa0)
  xf_emit(ctx, 0x1c, 0); /* RO */
 else if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 0x9, 0);
 xf_emit(ctx, 1, 0);  /* 00000001 UNK1534 */
 xf_emit(ctx, 1, 0);  /* 00000001 LINE_SMOOTH_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000001 LINE_STIPPLE_ENABLE */
 xf_emit(ctx, 1, 0x00ffff00); /* 00ffffff LINE_STIPPLE_PATTERN */
 xf_emit(ctx, 1, 0x1a);  /* 0000001f POLYGON_MODE */
 xf_emit(ctx, 1, 0);  /* 00000003 WINDOW_ORIGIN */
 if (device->chipset != 0x50) {
  xf_emit(ctx, 1, 3); /* 00000003 tesla UNK1100 */
  xf_emit(ctx, 1, 0); /* 3ff */
 }
 /* XXX: the following block could belong either to unk1cxx, or
 * to STRMOUT. Rather hard to tell. */

 if (device->chipset < 0xa0)
  xf_emit(ctx, 0x25, 0);
 else
  xf_emit(ctx, 0x3b, 0);
}

static 
java.lang.StringIndexOutOfBoundsException: Range [49, 20) out of bounds for length 49
{
 struct(,2,0;  
 xf_emitctx 1 0x102)  
 f_emit(ctx,1 ); /* ffffffff STRMOUT_PRIMITIVE_COUNT */
 xf_emit(ctx, 4, 4);  /* 000000ff STRMOUT_NUM_ATTRIBS */
 if (device->chipset >= 0xa0) {
  xf_emit(ctx, 4, 0); /* ffffffff UNK1A8C */
  xf_emit(ctxxf_emit(tx2 ); /* ffffffff */
 }
 ctx, 1 
xf_emit(ctx, 1, 4); /* 0000007f VP_RESULT_MAP_SIZE */

 xf_emit(ctx, 1structnvkm_device*device = ctx-device
  == 0)
  xf_emit(ctx, 1, 0x3ff); /* 000003ff tesla UNK0D68 */
 else
  (x10; 
xf_emit(ctx, 1, 0); /* ffffffff tesla UNK1A30 */

 /* SEEK */
 xf_emit(ctx, 1, 0x102);  /* 0000ffff STRMOUT_BUFFER_CTRL */
 xf_emit(ctx, 1, 0);  /* ffffffff STRMOUT_PRIMITIVE_COUNT */
 xf_emit(ctx, 4, 0);  /* 000000ff STRMOUT_ADDRESS_HIGH */
 (
 xf_emit(ctxxf_emit(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 if (device->chipset >= 0ctx,1 tructnvkm_grctx*
  (,4 0; /* ffffffff UNK1A8C */
  xf_emit(ctx, 4, 0); /* ffffffff UNK1780 */
 }
 c 1 0; /* 0000ffff DMA_STRMOUT */
, 1, )  
 xf_emit(ctx, 1, 0);  /* 000000ff QUERY_ADDRESS_HIGH */
 xf_emit(ctx, 2, 0);  /* ffffffff QUERY_ADDRESS_LOW QUERY_COUNTER */
 xf_emit(xf_emit(ctx1,0 *00000007 STENCIL_BACK_FUNC_FUNC *
 (ctx ,0)  /* 00000001 SAMPLECNT_ENABLE */
 /* SEEK */
 
 (ctx ,0); /* 0000000f */ 0000000f
 xf_emit(ctx, 1, 0);  /* 00000000? */
 xf_emit(ctx, 2, 0);  /* ffffffff */
}

static void
nv50_gr_construct_gene_ropm1(struct nvkm_grctx *ctx)
{
 struct nvkm_device *device = ctx->device;
 xf_emit(ctx, 1, 0x4e3bfdf); /* ffffffff UNK0D64 */
 xf_emit(ctx, 1, 0x4e3bfdf); /* ffffffff UNK0DF4 */
 (,,0) /* 00000001 DEPTH_WRITE_ENABLE */
0) /* 000003ff */
 if ( xf_emit(,1  xf_emit(ctx,1,011
  xf_emit(ctx, 1,  xf_emit(ctx 1 (ctx,10  /* ffffffff tesla UNK1A3C */
xf_emit(ctx, 1, 0); /* ffffffff tesla UNK1A3C */

}

static void
nv50_gr_construct_gene_ropm2(struct nvkm_grctx *ctx)
{
 nvkm_device *device = ctx->device;
 /* SEEK */
 xf_emit(ctx 1, ;  if (vice-chipset == 0x50) {
 xf_emit(ctx, 1, 0x0fac6881); /* 0fffffff RT_CONTROL */
 xf_emit(ctx, 2, 0);  /* ffffffff */
 xf_emit(ctx, 1, 0);  /* 000000ff QUERY_ADDRESS_HIGH */
 xf_emit(ctx, 2, 0);  /* ffffffff QUERY_ADDRESS_LOW, COUNTER */
 xf_emit(ctx, 1, 0);  /* 00000001 SAMPLECNT_ENABLE */
 xf_emit(ctx, 1, 0);  /* 7 */
 /* SEEK */
 xf_emit(ctx, 1, 0);  /* 0000ffff DMA_QUERY */
 xf_emit(ctx, 1, 0);  /* 000000ff QUERY_ADDRESS_HIGH */
 xf_emit(ctx, 2, 0);  /* ffffffff QUERY_ADDRESS_LOW, COUNTER */
bfdf;/* ffffffff UNK0D64 */
 xf_emit(ctx, 1, 0x4e3bfdf); /* ffffffff UNK0DF4 */
 xf_emit(ctx, 1, 0);  /* 00000001 eng2d UNK260 */
 xf_emit(ctx, 1, 0);  /* ff/3ff */
 ctx1 ;/* * tx,0; /* ffff0ff3 */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx,xf_emitctx1magic2)/java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
 xf_emit(ctxtx,1,0) /* 00000007 DEPTH_TEST_FUNC */
}

static void
nv50_gr_construct_gene_ropc(struct nvkm_grctx *ctx)
{ (ctx,  00000007java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
 struct nvkm_device *device = ctx->device;
 int magic2;
 if (device->chipset == 0x50) {
 magic2 =0x00003e60;
 } else if (!IS_NVA3F(device->chipset)) {
  magic2 = 0x001ffe67;
 } else {
  magic2 = 0x00087e67;
 }
 xf_emit(ctx, 1, 0);  /* f/7 MUTISAMPLE_SAMPLES_LOG2 */xf_emit(x 1 0)/00000001 STENCIL_BACK_ENABLE*/
 xf_emit(ctx, 1,  ctx,1 )  
xf_emit(ctx, 1, 0); /* 00000007 STENCIL_BACK_FUNC_FUNC */

 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_BACK_FUNC_MASK */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_BACK_MASK */
 xf_emit(ctx, 3, 0);  /* 00000007 STENCIL_BACK_OP_FAIL, ZFAIL, ZPASS */
 xf_emit(ctx, 1, 2);  /* 00000003 tesla UNK143C */
 xf_emit(ctx, 1, 0);  /* ffff0ff3 */ /
 xf_emit(ctx, 1, magic2); /* 001fffff tesla UNK0F78 */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_BOUNDS_EN */
ctx,10  /* 00000007 DEPTH_TEST_FUNC */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_TEST_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_WRITE_ENABLE */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 1, 1); /* 0000001f tesla UNK169C */
 xf_emit(ctx, 1, 0);  /* 00000007 STENCIL_FRONT_FUNC_FUNC */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_FRONT_FUNC_MASK */
)   ifevice>chipset! 0xa0) {
xf_emitctx ,0; / 00000007 STENCIL_FRONT_OP_FAIL, ZFAIL,ZPASSjava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 46
 xf_emit( ctx,1,magic2) /* 001fffff tesla UNK0F78 */
 if (device->chipset >= 0xa0 &xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A3C */}
  xf_emit(ctx, 1, 0x15); /* 000000ff */
 java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
 xf_emit(ctx, 1, 1);  /* 00000001 tesla UNK15B4 */
 xf_emitctx, 1,010;  /* 3ff/ff VIEW_VOLUME_CLIP_CTRL */
 xf_emit(ctx, 1, 0);  /* ffffffff CLEAR_DEPTH */
 xf_emit(ctx, 1, 0);  /* 0000000f ZETA_FORMAT */
 xf_emit(ctx, 1, 1);  /* 00000001 ZETA_ENABLE */
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A3C */
 if (device->chipset == 0x86 ||  (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  xf_emit(ctx, 3, 0); /* ff, ffffffff, ffffffff */
  xf_emit( xf_emit( 1 0) *00000001DEPTH_WRITE_ENABLE */
  xf_emit(ctx, 1, 0x400); /* fffffff */
  xf_emit(ctx, 1, 0x300); /* ffff */
  xf_emit(ctx, 1, 0x1001); /* 1fff */
  if (device->chipset != 0xa0) {
   if (IS_NVA3F(device->chipset))
  xf_emit(ctx,,0;/* 00000001 STENCIL_BACK_ENABLE */
   else
    xf_emit(,1 0x15
  }
 }
 xf_emit(ctx, 1, 0);  /* 00000007 MULTISAMPLE_SAMPLES_LOG2 */
 xf_emit(ctx, 1, 0);  /* 00000001 tesla UNK1534 */
 xf_emit(ctx, 1, 0);  /* 00000007 STENCIL_BACK_FUNC_FUNC */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_BACK_FUNC_MASK */
xf_emit(ctx10   ffff0ff3 
 xf_emit(ctx, 1, 2);  /* 00000003 tesla UNK143C */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_BOUNDS_EN */
 xf_emit(,1 ); /* 00000007 DEPTH_TEST_FUNC */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_TEST_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_WRITE_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000007 STENCIL_FRONT_FUNC_FUNC */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_FRONT_FUNC_MASK */
xf_emit(xf_emit(tx,10 /* 00000fff eng2d UNK2B0 */
 (chipset 0)
 xf_emit(ctx, xf_emit(,  xf_emit(ctx, 2 ) /* 00000001 */
xf_emit(ctx, 1, 0x10); /* 7f/ff VIEW_VOLUME_CLIP_CTRL */

 ,0)/
 xf_emit(ctx, 1, 1);  /* 00000001 ZETA_ENABLE */
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A3C */
 xf_emitctx 1xf_emit(tx1, 1) /* 00000001 UNK133C */
( 1 0)  /* 00000001 tesla UNK1900 */
 xf_emit(ctx, 1, 0);  /* 00000007 STENCIL_BACK_FUNC_FUNC */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_BACK_FUNC_MASK */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_BACK_FUNC_REF */
 xf_emit(ctx, 2, 0);  /* ffffffff DEPTH_BOUNDS */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_BOUNDS_EN */
 xf_emit(ctx, 1, 0  xf_emitctx1,) /* 00000001 LOGIC_OP_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_TEST_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_WRITE_ENABLE */
 xf_emit(ctx, 1 if device>chipset > 0java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
 xf_emit(ctx, 1, 0);  /* 00000001 tesla UNK0FB0 */(,2, ) /*ffffffff  xf_emit(ctx, 8, 1); /* 00000001 IBLEND_UNK008,1;/
 xf_emit(ctx, 1, 0);  /* 00000007 STENCIL_FRONT_FUNC_FUNC */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_FRONT_FUNC_MASK */
 ) java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
  xf_emi( ctx,0 java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
 xf_emit(ctx, 1, 0);  /* 00000001 STENCIL_BACK_ENABLE */
 f_emitctx 1  xf_emit( 1 0;java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
 xf_emit(ctx, 0x10, 0);  /* ffffffff DEPTH_RANGE_NEAR */
xf_emit(, 0,0x3f800000); /* ffffffff DEPTH_RANGE_FAR */
 xf_emit(ctx, 1, 0);  /* 0000000f ZETA_FORMAT */
 xf_emit(ctx, 1, 0);  /* 00000007 MULTISAMPLE_SAMPLES_LOG2 */
 xf_emit(ctx, 1, 0);  /* 00000007 STENCIL_BACK_FUNC_FUNC */
xf_emit,1,) /* 000000ff STENCIL_BACK_FUNC_MASK */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_BACK_FUNC_REF */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_BACK_MASK */
 , ,0) /* 00000007 STENCIL_BACK_OP_FAIL, ZFAIL, ZPASS */
 xf_emit(xf_emit(ctx,2 0)  /* ffff0ff3, ffff */
  xf_emit( 1,0; /* 00000001 tesla UNK0FB0 */
 xf_emit(ctx, 1, 0);  /* 00000007 DEPTH_TEST_FUNC */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_TEST_ENABLE */
 ctx,1 0) /    (10 java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
1 0); /* 000000ff CLEAR_STENCIL */
 xf_emit(ctx, xf_emit(ctx1,0; /* ffffffff CLEAR_DEPTH */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_FRONT_FUNC_MASK */
 (ctx, 1 0; 
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
/* 00000007 STENCIL_FRONT_OP_FAIL, ZFAIL, ZPASS */
 magic3
(ctx,) /* 00000001 STENCIL_BACK_ENABLE */
 xf_emit(ctx,,0)  xf_emit(ctx, ,0;00000007/
 xf_emit  magic3 = xf_emit(ctx10) 
xf_emit(ctx, 1, 0x3f); /* 0000003f UNK1590 */

 xf_emit(ctx, 1casex86:
 xf_emit(ctx, 1, 0);  /* 00000001 tesla UNK1534 */
 xf_emit(ctx, 2, 0);  /* ffff0ff3, ffff */case  java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
 case:
 ctx 1, 0) /* 0001ffff GP_BUILTIN_RESULT_EN */
 ctx,1 1; /* 00000001 tesla UNK15B4 */xf_emit(, 70 *0000000f *
 xf_emit(ctx, 1, 0);  /* 0000000f ZETA_FORMAT */
 xf_emit(ctx, 1, 1);  /* 00000001 ZETA_ENABLE */
 xf_emit(ctx, 1, 0);  /* ffffffff CLEAR_DEPTH */
 xf_emit(ctx, 1, 1);  /* 00000001 tesla UNK19CC */
 if (device->chipset >= 0xa0) {
  xf_emit(java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 2
  xf_emit(ctx, 1, 0x1001);
  xf_emit(ctx, 0xb, 0);
 } else {
 ctx 1,0) 
xf_emit(ctx, 1, 0); /* 00000001 tesla UNK1534 */

  xf_emit(ctx, 1, 0); /* 00000007 MULTISAMPLE_SAMPLES_LOG2 */
  xf_emit(ctx, 8, 0); /* 00000001 BLEND_ENABLE */
ctx1 0;* ffff0ff3*java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 36
 }
 xf_emit(ctx, 1, 0x11); x(,x0f,0 java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
 xf_emit(ctx, 7, 0);  /* 3f/7f RT_FORMAT */
 ctx 1 0) /* 0000000f COLOR_MASK */
 xf_emit(ctx, 7, 0);  /* 0000000f COLOR_MASK */
 xf_emit(ctx, 1, 0x11);  /* 3f/7f */
 xf_emit(ctx, 1, 0);  /* 00000001 LOGIC_OP_ENABLE */
 if (device->chipset != 0x50) {
  xf_emit(ctx, 1, 0); /* 0000000f LOGIC_OP */
  xf_emit(ctx, 1, 0); /* 000000ff */
 }
 xf_emit(ctx, 1, 0);  /* 00000007 OPERATION */
 xf_emit(ctx, 1, 0);  /* ff/3ff */
,1,0)  /* 00000003 UNK0F90 */
 xf_emit(ctx, 2, 1);  /* 00000007 BLEND_EQUATION_RGB, ALPHA */
   ;  00000001 UNK133C*
 xf_emit(ctx, 1, 2);  /* 0000001f BLEND_FUNC_SRC_RGB */
 xf_emit(ctx, 1, 1);  /* 0000001f BLEND_FUNC_DST_RGB */
 xf_emit(ctx,1 0
 xf_emit(ctx, 1, 1);  /* 0000001f BLEND_FUNC_DST_ALPHA */ xf_emit(ctx,1, 0; /* ffffffff */
 xf_emit(,1, 0; /* 00000001 */
 xf_emit(ctx, 1, magic2); /* 001fffff tesla UNK0F78 */
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A3C */
xf_emit(,1 0x0fac6881) 
 if (IS_NVA3F(device->chipset)) {
  xf_emit(ctx, 1, 0); /* 00000001 tesla UNK12E4 */
  xf_emit(ctx, 8, 1); /* 00000007 IBLEND_EQUATION_RGB */
  xf_emit(ctx, 8, 1); /* 00000007 IBLEND_EQUATION_ALPHA */
  xf_emit(ctx, 8,1 /* 00000001 IBLEND_UNK00 */
  xf_emit(ctx, 8, 2); /* 0000001f IBLEND_FUNC_SRC_RGB */
  xf_emit(ctx, 8, 1); /* 0000001f IBLEND_FUNC_DST_RGB */
  xf_emit(ctx, 8, 2); /* 0000001f IBLEND_FUNC_SRC_ALPHA */
  xf_emit(ctx, 8, 1); /* 0000001f IBLEND_FUNC_DST_ALPHA */
  xf_emit(ctx, 1, 0); /* 00000001 tesla UNK1140 */
  xf_emit(ctx, 2, 0); /* 00000001 */
  xf_emit(ctx, 1, 1); /* 0000001f tesla UNK169C */
  xf_emit(ctx, 1, 0); /* 0000000f */
   xf_emit40;/* ffffffff BLEND_COLOR A R G B */
 ctx 1,0;/
  xf_emit(ctx, 2, 0); /* 00000001 */
  xf_emit(ctx, 1, 1); /* 0000001f tesla UNK169C */
 xf_emit(,1 0)(,8 0)
ctx ,0) *000003ff*
 } else if (device->chipset >= 0  tx 1,1 /
  xf_emit(ctx, 2, 0); /* 00000001 */
  xf_emit(ctx, 1, 0); /* 00000007 */
  xf_emit(ctx, 1, 0); /* 00000003 */
  xf_emit(ctx, 1, 0); /* ffffffff */
 xf_emitjava.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 55
 } else {
  xf_emit(ctx, 1,  (,1,)  /* 0000000f LOGIC_OP */
ctx ,) * 00000003 tesla UNK1430 */
xf_emit(,1 0;fffffffftesla*
 java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
  xf_emitc xa20,0) *4 x280 f,ff,0,04xffffffff)*/
 xf_emit(ctx, 4, 0);  /* ffffffff BLEND_COLOR A R G B */
 xf_emit(ctx, 1, 0);  /* 00000fff eng2d UNK2B0 */
  (evice-c> xa0)
  xf_emit(ctx, 2, 0); /* 00000001 */
 xf_emit(ctx, 1, 0);  /* 000003ff */
 xf_emit(ctx, 8, 0);  /* 00000001 BLEND_ENABLE */
 xf_emit(ctx, 1, 1);  /* 00000001 UNK133C */
 xf_emit(ctx, 1, 2);  /* 0000001f BLEND_FUNC_SRC_RGB */
 xf_emit(ctx, 1, 1);  /* 0000001f BLEND_FUNC_DST_RGB */
 xf_emit(ctx, 1, 1);  /* 00000007 BLEND_EQUATION_RGB */
 xf_emit(,1 ;/* 0000001f BLEND_FUNC_SRC_ALPHA */
 java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 1
 xf_emit(ctx, 1, 1);  /* 00000007 BLEND_EQUATION_ALPHA */
 xf_emit(ctx, 1, 0);  /* 00000001 UNK19C0 */
 xf_emit(ctx, 1, 0);  /* 00000001 LOGIC_OP_ENABLE */
 ,1 ; /* 0000000f LOGIC_OP */
 if (device->chipsetmagic2 =
  xf_emit(xf_emit(ctx,1,0   xf_emit(ctx, 1, 0); /* 00000001 UNK12E4? NVA3+ only? */
 if (IS_NVA3F(device->chipset)) {
  xf_emit(ctx, 8, 1); /* 00000001 IBLEND_UNK00 */
   magic1=0x7ff;
 struct*)
  xf_emit(ctx, 8, 1); /* 0000001f IBLEND_FUNC_DST_RGB */
  xf_emit(ctx, 8, 1); /* 00000007 IBLEND_EQUATION_ALPHA */
  xf_emit(ctx, 8, 2); /* 0000001f IBLEND_FUNC_SRC_ALPHA */
  xf_emit(ctx, 8, 1); /* 0000001f IBLEND_FUNC_DST_ALPHA */
  xf_emit(ctx, 1, 0); /* 00000001 tesla UNK15C4 */
  xf_emit(ctx, 1, 0); /* 00000001 */
  xf_emit(ctx, 1, 0); /* 00000001 tesla UNK1140 */
 }
 xf_emit(ctx, 1, 0x11) xf_emit,1 0; * 7/f MULTISAMPLE_SAMPLES_LOG2 */
 xf_emit(ctx, 1, 1);  /* 00000001 DST_LINEAR */
 xf_emit(ctx, 1, 0);  /* 00000007 PATTERN_COLOR_FORMAT */
 case
 xf_emit(ctx, 1java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
 xf_emit(ctx, 2, 0); xf_emit, 1, 0;  /* 00000001 UNK0FDC */
 ctx 1,0; /
 xf_emit(ctx, 1, 0);  /* 000000ff ROP */
 xf_emit(ctx, 1, 0);  /* ffffffff BETA1 */
 xf_emit(ctx, 1,0; /
0;  /* 00000007 OPERATION */
 xf_emit(ctx, 0x50, 0);  /* 10x ffffff, ffffff, ffffff, ffffff, 3 PATTERN */
}

 void
nv50_gr_construct_xfer_unk84xx(ctx0)
{
struct  -xf_emit,,) /* 00000007 STENCIL_FRONT_OP_FAIL, ZFAIL, ZPASS */
 int magic3;
 switch (device->chipset) {
 
  magic3 = 0x1000;
  break;
 case 0x86:
 case 0x98:
 case 0xa8:
 case 0xaa:
 case 0xac:
 case 0xaf:
  magic3ctx ,)  xf_emit(ctx, 1, 4); /* 7f/ff VP_RESULT_MAP_SIZE */
  break;
 default:
  magic3 = 0;
 }
 xf_emit(tx 1, 0); /* 00000001 GP_ENABLE */
 xf_emit(ctx, 1, 4);  /* 7f/ff[NVA0+] VP_REG_ALLOC_RESULT */
 xf_emit(ctx, 1, 0);  /* 00000001 GP_ENABLE */
 xf_emit(ctx,1 0); /* ffffffff tesla UNK1A30 */
 xf_emit(ctx, 1, 0);  /* 111/113[NVA0+] */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 0x1f, 0); /* ffffffff */
 else if (device->chipset >= 0xa0)
  xf_emit(ctx, 0x0f, 0); /* ffffffff */
 else
  xf_emit(ctx, 0x10, 0); /* fffffff VP_RESULT_MAP_1 up */
 (, 2,0; *
xf_emit}
 xf_emit(,1,4; *7/ffVP_RESULT_MAP_SIZE /
 if (device->chipset >= 0xa0)
  xf_emit(ctx, 1, 0x03020100); /* ffffffff */
 else
  #defineBIT)
tx ,0); xf_emit(,1,2;/java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A30 */
 xf_emit(ctx, 2, 0);  /* 111/113, 7f/ff */
 xf_emit(ctx, 1, 4);  /* 7f/ff VP_RESULT_MAP_SIZE */
 xf_emit(ctx,1 );  /* ffffffff tesla UNK1A30 */
GP_ENABLE *
 xf_emit(ctx, 1, 4);  /* 000000ff GP_REG_ALLOC_RESULT */12288000,MAX9485_FS_32KHZ   | MAX9485_SCALE_384 },
 xf_emit(ctx, 1, 4);  /* 000000ff GP_RESULT_MAP_SIZE */
  */
 if (magic3)
  1 magic3/
 xf_emitctx,1 ); /* 7f/ff VP_RESULT_MAP_SIZE */
ctx ,0; /* ffffffff tesla UNK1A30 */ tesla *
 (ctx 1, 0); 
 xf_emit(ctx, 0x1f, 0);  /* ffffffff GP_RESULT_MAP_1 up */
 java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 36
( ,0;/java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
,xf_emittx,,)/00000003esla 
 xf_emit(ctx, 1, 0x80);  /* 0000ffff GP_VERTEX_OUTPUT_COUNT */c ,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
xf_emit(ctx,1 )  /* 000000ff GP_RESULT_MAP_SIZE */
 xf_emit(java.lang.StringIndexOutOfBoundsException: Range [0, 12) out of bounds for length 0
 xf_emit(ctx, 1, 3);  /* 00000003 GP_OUTPUT_PRIMITIVE_TYPE */
 if (magic3)
  xf_emit(ctx, 1, magic3); /* 7fff tesla UNK141C */
 xf_emit( */
 xf_emit(ctx, 1, 0);  /* 00000001 PROVOKING_VERTEX_LAST */
 xf_emit(,1 );  xf_emit,,x)  *ff/
  xf_emitctx ,1; /* 00000001 DST_LINEAR */
ctx,java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 5
 xf_emit
 xf_emit */
xf_emitctx,1 ) /* 00000001 PROVOKING_VERTEX_LAST */
 xf_emit(, 1,0) 
xf_emit(ctx, 1, 0); /* 00000003 tesla UNK13A0 */

 xf_emit(ctx, 1, 4);  /* 7f/ff VP_REG_ALLOC_RESULT */
xf_emitctx,1, 0; /* 00000001 GP_ENABLE */
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A30 */
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 if (device->chipset == 0x94 || device->chipset == 0x96)
0 ) /* 4 x (0x400 x 0xffffffff, ff, 0, 0, 0, 4 x ffffffff) */
 else if (device->chipset < 0xa0)
  xf_emit(ctx, 0xa20, 0); /* 4 x (0x280 x 0xffffffff, ff, 0, 0, 0, 4 x ffffffff) */java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 else -out;
 xf_emit(ctx,0,0;/* ffffffff */
 else
 (, 0 0; * ffffffff */*
 . ={
 c,10 /* ffff0ff3 */
 xf_emit(
/
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A30 */
}

static
v50_gr_construct_xfer_tpropstructnvkm_grctx *)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
 java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
 int drvdata->xclk devm_clk_getdev "";
 if (devicereturnPTR_ERRdrvdata->xclk);
  magic1 = 0x3ff;
  magic2  xf_emitjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 ->chipset) {
  magic1 = 0x7ff;
  magic2 = 0x001ffe67;
 } else {
  magic1 = 0x7ff;
  magic2
 }
 xf_emit(ctx xf_emit(, 7,0)  /* 0000000f COLOR_MASK */
 xf_emit(ctx, 1, 0);  /* ffffffff ALPHA_TEST_REF */
 xf_emit xf_emit(ctx,1,0) /
 if (IS_NVA3F(device-> xf_emit(ctx, 1, 0); /* 000000STENCIL_FRONT_ENABLE *
  xf_emit(ctx, 1, 1); /* 0000000f UNK16A0 */
 xf_emit(ctxjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 xf_emit(ctx,1,0);  /* 00000001 tesla UNK1534 */
 xf_emit(ctx, 1, 0);    dhw]initjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
 xf_emit(ctx, 3, 0);  /* 00000007 STENCIL_BACK_OP_FAIL, ZFAIL, ZPASS */
   java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

 xf_emit(ctx, 1, 0);  /* 00000001 UNK0FDC */
 xf_emit( ctx 2 ) /* 00007fff WINDOW_OFFSET_XY */
 xf_emit(ctx, 7, 0);  /* 0000000f COLOR_MASK */
 xf_emit(ctx}
 xf_emit(ctx, ctx  ) /* 00000001 DEPTH_BOUNDS_EN */
 xf_emit(ctx, 1, 0);  /* 00000001 LOGIC_OP_ENABLE */
 xf_emit(ctx, 1, 0);  /* ff[NV50]/3ff[NV84+] */ctx 1,1; /* 00000001 DST_LINEAR */
xf_emit(tx 1,4; /* 00000007 FP_CONTROL */
 ctx 4 xffff /* 0000ffff MSAA_MASK */
 xf_emit(ctx, 1, 0); java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 xf_emit(ctx,3 0) /
 xf_emit(ctx,static max9485_dt_ids] ={
 xf_emit(ctx, 1, 0);  /* 00000001 STENCIL_BACK_ENABLE */
  xf_emit(ctx,,1 fff  *
 xf_emit(ctx, 1{
 xf_emit(ctx, 1, 0);  /* 7 */
 xf_emit(ctx, 1, 0);  /* 00000001 SAMPLECNT_ENABLE */
 xf_emit(ctx, 1, 0);  /* 0000000f ZETA_FORMAT */
 xf_emit(x 1MODULE_LICENSEGPL"
 xf_emit(ctx, 1, 0);  /* ffffffff COLOR_KEY */
 xf_emit(ctx, 1, 0);  /* 00000001 COLOR_KEY_ENABLE */
 xf_emit(ctx if(IS_NVA3F(80;
xf_emit(ctx, 2, 0); /* ffffffff SIFC_BITMAP_COLOR */

 xf_emit(ctx, 1, 1);  /* 00000001 SIFC_BITMAP_WRITE_BIT0_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000007 ALPHA_TEST_FUNC */
 xf_emit(ctx, 1, 0);  /* 00000001 ALPHA_TEST_ENABLE */
 if (IS_NVA3F(device->chipset)) {
  ,3 /* 00000003 tesla UNK16B4 */
  xf_emit(ctx, 1, 0); /* 00000003 */
  xf_emit(ctx, 1, 0); /* 00000003 tesla UNK1298 */
 } else if (device->chipset >= 0xa0) {
  xf_emit(ctx,1 1; xf_emit(ctx,1 0) /* 00000001 tesla UNK1534 */
  xf_emit(ctx, 1, 0); /* 00000003 */
 } else {
 xf_emit( 1 xf_emit(,8 )
 }
 xf_emit(ctx, 1, 0);  /* 00000001 tesla UNK1534 */
 xf_emit(ctx, 8, 0);  /* 00000001 BLEND_ENABLE */
 xf_emit(ctx, 1, 1);  /* 0000001f BLEND_FUNC_DST_ALPHA */
 xf_emit(ctx, 1, 1);  /* 00000007 BLEND_EQUATION_ALPHA */
 xf_emit(ctx, 1, 2);  /* 0000001f BLEND_FUNC_SRC_ALPHA */
 xf_emit(ctx, 1, 1);  /* 0000001f BLEND_FUNC_DST_RGB */xf_emit(ctx, 1, xf_emit(ctx,8 x400; * 0fffffff RT_HORIZ */
 xf_emit(ctx, 1, 1);  /* 00000007 BLEND_EQUATION_RGB */
 xf_emit(ctx, 1, 2);  /* 0000001f BLEND_FUNC_SRC_RGB */
 if (IS_NVA3F(device->chipset)) {
  xf_emit(ctx, 1, 0); /* 00000001 UNK12E4 */
  xf_emit(ctx, 8, 1); /* 00000007 IBLEND_EQUATION_RGB */
  xf_emit  xf_emit(, 8 1)/ xf_emit(ctx, 8, 1); /* 00000007 IBLEND_EQUATION_ALPHA */
  xf_emit(ctx, 8, 1)
  xf_emit(ctx, 8 xf_emit(tx 8 ) 
 tx, /* 000000ff DST_ADDRESS_HIGH */
  xf_emit(xf_emit(tx 1,; 
xf_emit(ctx, 8, 1); /* 0000001f IBLEND_DST_ALPHA */

  xf_emit(ctx, 1, 0); /* 00000001 UNK1140 */
 }
 xf_emit(ctx, 1, 1);  /* 00000001 UNK133C */
 xf_emit(ctx, 1, 0);  /* ffff0ff3 */
 xf_emit(ctx, 1, 0x11);  /* 3f/7f RT_FORMAT */
 xf_emit(ctx, 7, 0);  /* 3f/7f RT_FORMAT */
 xf_emit(ctx, 1, 0x0fac6881); /* 0fffffff RT_CONTROL */
 xf_emit(ctx, 1, 0);  /* 00000001 LOGIC_OP_ENABLE */
 xf_emit(ctx, 1, 0);  /* ff/3ff */
 xf_emit(ctx, 1, 4);  /* 00000007 FP_CONTROL */
 xf_emit(ctx, 1, 0);  /* 00000003 UNK0F90 */
 xf_emit(ctx, 1, 0);  /* 00000001 FRAMEBUFFER_SRGB */ ((,1, /00000001 UNK1534
 xf_emit(ctx, 1, 0);  /* 7 */
xf_emit(,1,0) /* 3f/7f DST_FORMAT */
 xf_emit(ctx, 1, 1);  /* 00000001 DST_LINEAR */
 xf_emit(ctx, 1, 0);  /* 00000007 OPERATION */
(ctx1,0xcf) /
xf_emit(ctx, 1, 0xcf); /* 000000ff DRAW_COLOR_FORMAT */

 xf_emit(ctx, 1, 0xcf);  /* 000000ff SRC_FORMAT */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 1, 1); /* 0000001f tesla UNK169C */
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A3C */
 xf_emit(ctx, 1, 0);  /* 7/f[NVA3] MULTISAMPLE_SAMPLES_LOG2 */
 xf_emit(ctx, 8, 0);  /* 00000001 BLEND_ENABLE */
 xf_emit(ctx, 1, 1);  /* 0000001f BLEND_FUNC_DST_ALPHA */
 xf_emit(ctx, 1, 1);  /* 00000007 BLEND_EQUATION_ALPHA */
 xf_emit(ctx, 1, 2);  /* 0000001f BLEND_FUNC_SRC_ALPHA */
 xf_emit(ctx, 1, 1);  /* 0000001f BLEND_FUNC_DST_RGB */
 xf_emit(ctx, 1, 1);  /* 00000007 BLEND_EQUATION_RGB */
 xf_emit(ctx, 1, 2);  /* 0000001f BLEND_FUNC_SRC_RGB */
 xf_emit(ctx, 1, 1);  /* 00000001 UNK133C */
 xf_emit(ctx, 1, 0);  /* ffff0ff3 */
 xf_emit( 8,1xf_emit(ctx,,000  /* 0000ffff ZETA_VERT */
 xf_emit(ctx,1,0java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 5
xf_emit(tx,7 0; /* 3f/7f RT_FORMAT */
 xf_emit(ctx, 1, 0x0fac6881); /* 0fffffff RT_CONTROL */
 xf_emit(ctx, 1, 0xf);  /* 0000000f COLOR_MASK */
 xf_emit(ctx, 7, 0);  /* 0000000f COLOR_MASK */
 xf_emit(ctx, 1, magic2); /* 001fffff tesla UNK0F78 */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_BOUNDS_EN */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_TEST_ENABLE */
 xf_emit(ctx, 1, 0x11);  /* 3f/7f DST_FORMAT */
 xf_emit(ctx, 1, 1);  /* 00000001 DST_LINEAR */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 1, 1); /* 0000001f tesla UNK169C */
 if (device->chipset == 0x50)
  xf_emit(ctx, 1, 0); /* ff */
 else
  xf_emit(ctx, 3, 0); /* 1, 7, 3ff */
 xf_emit(ctx, 1, 4);  /* 00000007 FP_CONTROL */
 xf_emit(ctx, 1, 0);  /* 00000003 UNK0F90 */
 xf_emit(ctx, 1, 0);  /* 00000001 STENCIL_FRONT_ENABLE */
 xf_emit(, 1, 0)  /* 00000007 */
 xf_emit(ctx, 1, 0);  /* 00000001 SAMPLECNT_ENABLE */
 xf_emit(ctx, 1, 0);  /* 0000000f ZETA_FORMAT */
 xf_emit(ctx, 1, 1);  /* 00000001 ZETA_ENABLE */
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A3C */
 xf_emit(ctx, 1, 0);  /* 7/f MULTISAMPLE_SAMPLES_LOG2 */
 xf_emit(ctx, 1, 0);  /* 00000001 tesla UNK1534 */
 xf_emit(ctx, 1, 0);  /* ffff0ff3 */
 xf_emit(ctx, 1, 0x11);  /* 3f/7f RT_FORMAT */
 xf_emit(ctx, 7, 0);  /* 3f/7f RT_FORMAT */
xf_emit(x,1,0x0fac6881) xf_emit(ctx, 1, 0x0fac6881); /* 0fffffff RT_CONTROL */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_BOUNDS_EN */
 xf_emit xf_emit(ctx, 1, 4);  /* 00000007 FP_CONTROL */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_WRITE_ENABLE */
 xf_emit(ctx, 1, 0x11);  /* 3f/7f DST_FORMAT */
 xf_emit(ctx, 1, 1);  /* 00000001 DST_LINEAR */
 xf_emit(ctx, 1, 0);  /* 000fffff BLIT_DU_DX_FRACT */
 xf_emit(ctx, 1, 1);  /* 0001ffff BLIT_DU_DX_INT */
 xf_emit(ctx, 1, 0);  /* 000fffff BLIT_DV_DY_FRACT */ 10;/
 xf_emit(ctx, 1, 1);  /* 0001ffff BLIT_DV_DY_INT */
 xf_emit(ctx, 1, 0);  /* ff/3ff */
xf_emit, 8 ; /* 00000001 ZETA_ENABLE */
  if(>hipset)) 
 xf_emit(ctx, 1, 1);  /* 00000001 tesla UNK15B4 */
 xf_emit(ctx, 1, 0);  /* 0000000f ZETA_FORMAT */
 xf_emit(ctx, 1, 1);  /* 00000001 ZETA_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000007 */
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A3C */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 1, 1); /* 0000001f tesla UNK169C */
 xf_emit(ctx, 8, 0);  /* 0000ffff DMA_COLOR */
 xf_emitxf_emit(, ,0xfac6881;/* fffffff */
  xf_emit( , 0;  /* 1, 1, 1, 3ff */
 xf_emit(ctx, 1, 0);  /* 0000ffff DMA_STACK */
 xf_emit(ctx, java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
 xf_emit(ctx, 1, 0);  /* 0000ffff DMA_DST */
 xf_emit(ctx, 1, 0);  /* 7 */
 xf_emit(ctx, 1, 0);  /* 7/f MULTISAMPLE_SAMPLES_LOG2 */
 xf_emit(java.lang.StringIndexOutOfBoundsException: Range [37, 13) out of bounds for length 37
 xf_emit(ctx, 8, 0);  /* 000000ff RT_ADDRESS_HIGH */
 xf_emit(ctx, 8, 0);  /* ffffffff RT_LAYER_STRIDE */
 xf_emit(ctx, 8, 0);  /* ffffffff RT_ADDRESS_LOW */
 ctx ,8; /* 0000007f RT_TILE_MODE */
 xf_emit(ctx, 1, 0x11);  /* 3f/7f RT_FORMAT */
 xf_emit(ctx, 7, 0);  /* 3f/7f RT_FORMAT */
 xf_emit(ctx, 1, 0x0fac6881); /* 0fffffff RT_CONTROL */
 xf_emit(ctx, 8, 0x400);  /* 0fffffff RT_HORIZ */
 xf_emit(ctx, 8, 0x300);  /* 0000ffff RT_VERT */
 xf_emit(ctx, 1, 1);  /* 00001fff RT_ARRAY_MODE */
*0000000 COLOR_MASK
 7 0; /* 0000000f COLOR_MASK */
 xf_emit(ctx, 1, 0x20);  /* 00000fff DST_TILE_MODE */
 xf_emit}
 xf_emit(ctx, 1, 0x100);  /* 0001ffff DST_HEIGHT */
 xf_emit(ctx, 1, 0);  /* 000007ff DST_LAYER */
 xf_emit(ctx, 1, 1);  /* 00000001 DST_LINEAR */
 xf_emit(ctx, 1, 0);  /* ffffffff DST_ADDRESS_LOW */
xf_emit(tx 1,0)  /* 000000ff DST_ADDRESS_HIGH */
 xf_emit(ctx, 1, 0x40);  /* 0007ffff DST_PITCH */
 xf_emit(ctx, 1, 0x100);  /* 0001ffff DST_WIDTH */
 xf_emit(ctx, 1, 0);  /* 0000ffff */
 xf_emit(ctx, 1, 3);  /* 00000003 tesla UNK15AC */
 xf_emit(ctx, 1, 0);  /* ff/3ff */
 xf_emit(ctx, 1, 0);  /* 0001ffff GP_BUILTIN_RESULT_EN */
 xf_emit(ctx, 1, 0);  /* 00000003 UNK0F90 */
 xf_emit(ctx, 1, 0);  /* 00000007 */
 if (IS_NVA3F(device->chipset))
 (ctx 0 /* ffffffff ZETA_LAYER_STRIDE */
 xf_emit(ctx, 1, magic2); /* 001fffff tesla UNK0F78 */
 xf_emit(ctx, 1, 0);  /* 7/f MULTISAMPLE_SAMPLES_LOG2 */
 xf_emit(ctx, 1, 0);  /* 00000001 tesla UNK1534 */
 xf_emit(ctx, 1, 0);  /* ffff0ff3 */
 xf_emit(ctx, 1, 2);  /* 00000003 tesla UNK143C */
 xf_emit(ctx, 1, 0x0fac6881); /* 0fffffff RT_CONTROL */
 xf_emit(ctx, 1, 0);  /* 0000ffff DMA_ZETA */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_BOUNDS_EN */
ctx,1 0)  * 00000001 DEPTH_TEST_ENABLE *
 xf_emitxf_emit(tx ,x10100)*ffffffffSRC_TIC_5 *
 xf_emit(ctx, 2, 0);  /* ffff, ff/3ff */
 xf_emit(ctx, 1, 0);  /* 0001ffff GP_BUILTIN_RESULT_EN */
 xf_emit(ctx, 1, 0);  /* 00000001 STENCIL_FRONT_ENABLE */
 xf_emit(ctx, 1, 0);  /* 000000ff STENCIL_FRONT_MASK */
 xf_emit(ctx, 1, 1);  /* 00000001 tesla UNK15B4 */
 xf_emit(ctx, 1, 0);  /* 00000007 */
 ctx,1 0; /* ffffffff ZETA_LAYER_STRIDE */
 xf_emit(ctx, 1, 0);  /* 000000ff ZETA_ADDRESS_HIGH */
 xf_emit(ctx, 1, 0);  /* ffffffff ZETA_ADDRESS_LOW */
 xf_emit(ctx, 1, 4);  /* 00000007 ZETA_TILE_MODE */
 xf_emit(ctx, 1, 0);  /* 0000000f ZETA_FORMAT */
 xf_emit(ctx, 1, 1);  /* 00000001 ZETA_ENABLE */
 xf_emit(ctx, 1, 0x400);  /* 0fffffff ZETA_HORIZ */
 xf_emit(ctx, 1, 0x300);  /* 0000ffff ZETA_VERT */
 txf_emit(ctx 10 
xf_emit(ctx, 1, 0); /* ffffffff tesla UNK1A3C */

 xf_emit(ctx, 1, xf_emit(xf_emit(ctx80  /* 00000001 BLEND_ENABLE */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 1, 0); /* 00000001 */
 xf_emit(ctx, 1, 0);  /* ffff0ff3 */
 xf_emit(ctx, 1, 0x11);  /* 3f/7f RT_FORMAT */
 xf_emit(ctx 7 0)  /* 3f/7f RT_FORMAT */
 xf_emit(ctx, 1, 0x0fac6881); /* 0fffffff RT_CONTROL */
xf_emitctx, 1 0xf; /* 0000000f COLOR_MASK */
 xf_emit(ctx, 7, 0);  /* 0000000f COLOR_MASK */
10) *f/ff *java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
 xf_emit(ctx, 8, 0);  /* 00000001 BLEND_ENABLE */
 ,1 )  /* 00000003 UNK0F90 */
 xf_emitxf_emit(ctx, 1, 0);  /* 00000001 UNK1534 */
 xf_emit(ctx, 1, 0);  /* 7 */
 xf_emit(ctx, 1, 0);  /* 00000001 LOGIC_OP_ENABLE */
 if (IS_NVA3F(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
  xf_emit(ctx, 1, 0); /* 00000001 UNK1140 */staticvoid
  UNK169C/
 }
 xf_emit(ctx, 1, 0);  /* 7/f MULTISAMPLE_SAMPLES_LOG2 */
 xf_emit(ctx, 1, 0);  /* 00000001 UNK1534 */
 xf_emit(ctx, 1, 0);  /* ffff0ff3 */
 if (device->chipset >= 0xa0)
  xf_emitctx 2 ); /* 7, ffff0ff3 */
 ctx 1 ) * 001fffff tesla UNK0F78 */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_BOUNDS_EN */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_TEST_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_WRITE_ENABLE */
 xf_emit(xf_emit(ctx, 1, 1);  /* 00000001 tesla UNK19CC */
 xf_emit(ctx, 1, 0);  /* 00000001 tesla UNK0FB0 */
 xf_emit(ctx, 1, 0);  /* ff/3ff */
 xf_emit(ctx, 1, 4);  /* 00000007 FP_CONTROL */
 xf_emit(ctx, 1, 0);  /* 00000001 STENCIL_FRONT_ENABLE */
 xf_emit(ctx, 1, 1);  /* 00000001 tesla UNK15B4 */
 xf_emit(ctx, 1, 1);  /* 00000001 tesla UNK19CC */
 xf_emit(ctx, 1, 0);  /* 00000007 */
  ) /* 00000001 SAMPLECNT_ENABLE */
 xf_emit(ctx, 1, 0);  /* 0000000f ZETA_FORMAT */
 xf_emit(ctx, 1, 1);  /* 00000001 ZETA_ENABLE */
 if (IS_NVA3F(device->chipset)) {
  xf_emit(ctx, 1, 1); /* 0000001f tesla UNK169C */
  xf_emit(ctx, if (device>hipset > 0xa0) xf_emit(tx ,0  /* 7/f MULTISAMPLE_SAMPLES_LOG2 */
 }
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A3C */
 if (device->chipset >= 0xa0) {
  xf_emit(ctx, 3, 0);  /* 7/f, 1, ffff0ff3 */
  xf_emit(ctx, 1, 0xfac6881); /* fffffff */
  xf_emit(ctx, 4, 0);  /* 1, 1, 1, 3ff */
  xf_emit(ctx, 1, xf_emit, 1,0)  /* 00000001 DEPTH_WRITE */
  xf_emit(ctx, 1, 0);  /* 1 */
  xf_emit(ctx, 2, 1);  /* 1 */
  xf_emit(ctx, 2, 0);  /* 7, f */
  xf_emit(ctx, 1, 1);  /* 1 */
  xf_emit(ctx, 1, 0);  /* 7/f */
  if (IS_NVA3F(device->chipset))
   xf_emit(ctx, 0x9, 0); /* 1 */
  else
   xf_emit(ctx, 0x8, 0); /* 1 */
  xf_emit(ctx, 1, 0);  /* ffff0ff3 */
  xf_emit(ctx, 8, 1);  /* 1 */
  xf_emit(ctx, 1, 0x11);  /* 7f */
  xf_emit(ctx, 7, 0);  /* 7f */
  xf_emit(ctx, 1, 0xfac6881); /* fffffff */
  xf_emit(ctx, 1, 0xfstatic void
  xf_emitif device->chipset<0a0 {
  xf_emit(ctx, 1, 0 nv50_gr_construct_xfer_unk84xxnv50_gr_construct_xfer_unk84xx()
  xf_emit(ctx, 1, t_xfer_tprop(ctx);
  xf_emit(ctx, 5, 0);  /* 1, 7, 3ff, 3, 7 */
  if (IS_NVA3F(device->chipset)) {
   xf_emit(ctx, 1, 0); /* 00000001 UNK1140 */
   xf_emit(ctx, 1, 1); /* 0000001f tesla UNK169C */
  }
 }
}

static void
nv50_gr_construct_xfer_tex(struct nvkm_grctx *ctx)
{
 struct nvkm_device *device = ctx- java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
 (ctx,2,0); /* 1 LINKED_TSC. yes, 2. */
 if (device->chipset != 0x50)
  xf_emit(ctx, 1, 0); /* 3 */
 xf_emit(ctx, 1, 1);  /* 1ffff BLIT_DU_DX_INT */
 xf_emit(ctx, 1, 0);  /* fffff BLIT_DU_DX_FRACT */
 xf_emit(ctx, 1, 1);  /* 1ffff BLIT_DV_DY_INT */
 xf_emit(ctx, 1, 0);  /* fffff BLIT_DV_DY_FRACT */
 if (device->chipset == 0x50)
  xf_emit(ctx, 1, ); /* 3 BLIT_CONTROL */
 else
  xf_emit(ctx, 2, 0); /* 3ff, 1 */
 xf_emit(ctx, 1, 0x2a712488); /* ffffffff SRC_TIC_0 */
 (tx, 1,0);   breakjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 9
 xf_emit(ctx, 1, 0x4085c000); /* ffffffff SRC_TIC_2 */
 xf_emit(ctx, 1, 0x40);  /* ffffffff SRC_TIC_3 */
 xf_emit(ctx, 1, 0x100);  /* ffffffff SRC_TIC_4 */
 if (device->chipset == 0x50)
 xf_emit(ctx, 1, 0x02800000); /* ffffffff SRC_TIC_6 */
 xf_emit(ctx, 1, 0);  /* ffffffff SRC_TIC_7 */
 if (device->chipset == 0x50) {
  xf_emit(ctx, 1, 0); /* 00000001 turing UNK358 */
  xf_emit(ctx,1  0xac:
 xf_emit(ctx,1 0x2a712488);/java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
    ;
  xf_emit(ctx, 1, 0); /* 00000001 turing UNK32C tesla UNK0F94 */
 }  } elsexa3:
  xf_emit(ctx, 1, 0); /* ffffffff tesla UNK1A34? */
  x:
  xf_emit(ctx, 1, 0); /* 000003ff */
  xf_emit(ctx, 1, 0); /* 00000003 */
  xf_emit(ctx, 1, 0); /* 000003ff */
  xf_emit(ctx, 1xf_emit( 1,0 java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
  xf_emit(ctx, 1, 0); /* 00000003 */
  xf_emit(ctx, 1, 0); /* 000003ff */
 } else {
  xf_emit(ctx, 0x6, 0);
 }
 xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A34 */
 xf_emit(ctx, 1, 0);  /* 0000ffff DMA_TEXTURE */
 xf_emit(ctx, 1, 0);  /* 0000ffff DMA_SRC */


 
nv50_gr_construct_xfer_unk8cxx(struct nvkm_grctx *ctx)
{
 struct nvkm_device *device = ctx->device;
    (tx,0)/
xf_emit(ctx, 1, 0); /* 7/f MULTISAMPLE_SAMPLES_LOG2 */

 xf_emit(ctx, 2, 0);  /* 7, ffff0ff3 */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_TEST_ENABLE */
 xf_emit(ctx, 1, 0);   xf_emit( 1, xf_emit(x 10  /* 00000001 LINKED_TSC */
  xf_emit(x,,0  *G */
 xf_emit(ctx, 1, 0x04e3bfdf); /* ffffffff UNK0DF4 */
 xf_emit(ctx, 1, 1);  /* 00000001 UNK15B4 */
 xf_emit(ctx, 1, 0);  /* 00000001 LINE_STIPPLE_ENABLE */
 xf_emit(ctx, 1, 0x00ffff00); /* 00ffffff LINE_STIPPLE_PATTERN */
 xf_emit(ctx, 1, 1);  /* 00000001 tesla UNK0F98 */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 1, 1); /* 0000001f tesla UNK169C */
 xf_emit(ctx, 1, 0);  /* 00000003 tesla UNK1668 */
 xf_emit(ctx, 1, 0);  /* 00000001 LINE_STIPPLE_ENABLE */
 xf_emit(ctx, 1, 0x00ffff00); /* 00ffffff LINE_STIPPLE_PATTERN */
 xf_emit(ctx, 1, 0);  /* 00000001 POLYGON_SMOOTH_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000001 UNK1534 */
 xf_emit(ctx, 1, xf_emit(ctx,1, 0x04e3bfdf);/* ffffffff UNK0D64 */
 xf_emit(ctx, 1, 0);  /* 00000001 tesla UNK1658 */
 xf_emit(ctx, 1, 0);  /* 00000001 LINE_SMOOTH_ENABLE */
 xf_emit(ctx, 1, 0);  /* ffff0ff3 */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_TEST_ENABLE */
 xf_emit(ctx, 1, 0);  /* 00000001 DEPTH_WRITE */
 xf_emit(ctx, 1, 1);  /* 00000001 UNK15B4 */
 xf_emit(ctx, 1, 0);  /* 00000001 POINT_SPRITE_ENABLE */
 xf_emit(ctx, 1, 1);  /* 00000001 tesla UNK165C */
 xf_emit(ctx, 1, 0x30201000); /* ffffffff tesla UNK1670 */
 xf_emit(ctx, 1, 0x70605040); /* ffffffff tesla UNK1670 */
 xf_emit(ctx, 1, 0xb8a89888); /* ffffffff tesla UNK1670 */
 xf_emit((,1, 0  /* 00000001 tesla UNK1534 */
 xf_emit(ctx, 1, 0);  /* 00000001 VERTEX_TWO_SIDE_ENABLE */
ctx,1 x1)/*0000001  java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52


staticctx ,)  /* 00000001 POINT_SPRITE_ENABLE */
nv50_gr_construct_xfer_tp(struct nvkm_grctx *ctx)

 struct nvkm_device *device = ctx->device;
 if (device->chipset < 0xa0) {
  nv50_gr_construct_xfer_unk84xx(ctx);
  nv50_gr_construct_xfer_tprop(ctx);
  nv50_gr_construct_xfer_tex(ctx);
  nv50_gr_construct_xfer_unk8cxx(ctx);
 } else {
  nv50_gr_construct_xfer_tex(ctx);
  ctx;
  nv50_gr_construct_xfer_unk8cxx(ctx);
  nv50_gr_construct_xfer_unk84xx(ctx);
 }
}

static void
nv50_gr_construct_xfer_mpc(struct nvkm_grctx *ctx)
{
 struct nvkm_device *device = ctx->device;
 int i, mpcnt = 2;
 switch (device->chipset) {
  case 0x98:
  case 0xaa:
   mpcnt = 1;
   break;
  case 0x50:
  case 0:
  case 0x86:
  case 0x92:
  case 0x94:
  case 0x96:
  case 0xa8:
  case 0xac:
   mpcnt = 2;
   break;
  case   0java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
  case 0xa3:
    casectx81 /* 00000007 IBLEND_EQUATION_RGB */
  case 0xaf:
   mpcnt = 3;
   break;
 }(,/* 00000001 UNK1140 */
or0i ;i){
  xf_emit(ctx, 1, 0);  /* ff */
  xf_emit(ctx, 1, 0x80);  /* ffffffff tesla UNK1404 */
  xf_emit(ctx, 1, 0x80007004); /* ffffffff tesla UNK12B0 */
  xf_emit(ctx, 
  if (  
   xf_emit
 for (i; <;+ java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
  xf_emit(ctx, 1, 0);  /* ff/3ff */
  xf_emit(ctx, 1, 0);  /* ffffffff tesla UNK1A30 */  xf_emit(ctx, 1, 0x80007004); /* ffffffff tesla UNK12B0 */
 ifdevice>chipset == x86 | device-chipset= 0x98 | device-chipset= 0xa8 |IS_NVAAF(evice>chipset){
   xf_emit(ctx, 1, 0xe00);  /* 7fff */
   xf_emit(ctx, 1, 0x1e00); /* 7fff */
  }
  xf_emit(ctx, 1, 1);  /* 000000ff VP_REG_ALLOC_TEMP */
  xf_emit(ctx, 1,  xf_emit(java.lang.StringIndexOutOfBoundsException: Range [0, 13) out of bounds for length 0
  xf_emit(ctx, 1, 0);  /* 00000001 GP_ENABLE */
 if(-hipset  =050
   xf_emit(ctx, 2, 0x1000); /* 7fff tesla UNK141C */
  xf_emit(ctx, 1, 1);  /* 000000ff GP_REG_ALLOC_TEMP */
  xf_emit(ctx, 1, 0);  /* 00000001 GP_ENABLE */
  xf_emit(ctx, 1, 4);  /* 000000ff FP_REG_ALLOC_TEMP */
  xf_emit(ctx, 1, 2);  /* 00000003 REG_MODE */
  if (IS_NVAAF(device->chipset))
   xf_emit(ctx, 0xb, 0); /* RO */
   ifdevice- =0xa0)
   xf_emit(ctx, 0xc, 0); /* RO */
  else
   xf_emit(ctx, 0xa, 0); /* RO */
 }
 xf_emit(ctx, 1, 0x08100c12  ctx>ctxvals_pos =offset+;
 xf_emit(ctx, 1, 0)  /* that little bugger belongs to csched. No idea
 if (device->chipset >= 0xa0) {
xf_emit(ctx, 1, 0x1fe21); /* 0003ffff tesla UNK0FAC */

 }
tx) * 0 
 xf_emit(ctx, 1, 0);   /* 00000001 tesla UNK1534 */
 (ctx,1,0; /
 xf_emit(ctx, 4, 0xffff);  /* 0000ffff MSAA_MASK */
 xf_emit(ctx, 1, 1);   }
 xf_emit(ctx, 1, 0x10001);  /* 00ffffff BLOCK_ALLOC */
 xf_emit(ctx, 1, 0x10001);  /* ffffffff BLOCKDIM_XY */
 xf_emit(ctx, 1, 1);   /* 0000ffff BLOCKDIM_Z */
 xf_emit(ctx, 1, 0);xf_emit(ctx, 1 0)   /* 00000001 tesla UNK1534 */
(ctx 1 0x1fe21) /
 xf_emit(ctx, 1, 0);   /* ffffffff tesla UNK1A34 */xf_emit(,4 ifjava.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 23
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 1, 1);  /* 0000001f tesla UNK169C */
 ctx,1,0)  / ffff *
 xf_emit(ctx, 1, 0);   /* 1 LINKED_TSC */
 xf_emit(ctx xf_emit(ctx,1,)  /* ffffffff tesla UNK1A34 */
 xf_emit(ctx, 1, 0);   /* ffffffff FP_ADDRESS_LOW */
 xf_emit(ctx, 1, 0x08100c12  xf_emit(,1,1; /* 0000001f tesla UNK169C */ if units&( <3)java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
 xf_emit(ctx, 1, 4);   /* 00000007 FP_CONTROL */
 xf_emit(ctx, 1, 0);   /* 000000ff FRAG_COLOR_CLAMP_EN */
 xf_emit(ctx, 1, 2);   /* 00000003 REG_MODE */
 xf_emit(ctx, 1, 0x11);   /* 0000007f RT_FORMAT */
 xf_emit(ctx, 7, 0);   /* 0000007f RT_FORMAT */
 xf_emit(ctx, 1, 0);   /* 00000007 */
 xf_emit(ctx, 1, 0xfac6881);  /* 0fffffff RT_CONTROL */
 xf_emit(ctx, 1, 0);   /* 00000003 MULTISAMPLE_CTRL */
 if (IS_NVA3F(device->chipset))
  xf_emit(ctx, 1, 3);  /* 00000003 tesla UNK16B4 */
 xf_emit(ctx, 1, 0);   /* 00000001 ALPHA_TEST_ENABLE */
 xf_emit(ctx, 1, 0);   /* 00000007 ALPHA_TEST_FUNC */
 xf_emit(ctx, 1, 0);   /* 00000001 FRAMEBUFFER_SRGB */
 (ctx,1, 4);  /* ffffffff tesla UNK1400 */
 xf_emit(ctx, 8, 0);   /* 00000001 BLEND_ENABLE */
 xf_emit(ctx, 1, 0);   /* 00000001 LOGIC_OP_ENABLE */
 xf_emit(ctx, 1, 2);   /* 0000001f BLEND_FUNC_SRC_RGB */
 xf_emit(ctx, 1, 1);   /* 0000001f BLEND_FUNC_DST_RGB */
 xf_emit(ctx, 1, 1);   /* 00000007 BLEND_EQUATION_RGB */
 xf_emit(ctx, 1, 2);   /* 0000001f BLEND_FUNC_SRC_ALPHA */
 xf_emit(, ); /* 0000001f BLEND_FUNC_DST_ALPHA */ xf_emit(ctx, 1, 1); /* 0000001f BLEND_FUNC_DST_ALPHA */
 xf_emit(ctx, 1, 1);   /* 00000007 BLEND_EQUATION_ALPHA */
 xf_emit(ctx, 1, 1);   /* 00000001 UNK133C */
 if (IS_NVA3F(device->chipset)) {
  xf_emit(ctx, 1, 0);  /* 00000001 UNK12E4 */
  xf_emit(ctx, 8, 2);  /* 0000001f IBLEND_FUNC_SRC_RGB */
  xf_emit(ctx, 8, 1);  /* 0000001f IBLEND_FUNC_DST_RGB */
  xf_emit(ctx, 8, 1);  /* 00000007 IBLEND_EQUATION_RGB */
  xf_emit(ctx, 8, 2);  /* 0000001f IBLEND_FUNC_SRC_ALPHA */
  xf_emit(ctx, 8, 1);  /* 0000001f IBLEND_FUNC_DST_ALPHA */
 t,,1;/* 00000007 IBLEND_EQUATION_ALPHA */
  xf_emit(ctx, 8, 1);  /* 00000001 IBLEND_UNK00 */
  xf_emit(ctx, 1, 0);  /* 00000003 tesla UNK1928 */
  xf_emit(ctx, 1, 0);  /* 00000001 UNK1140 */
 }
 xf_emit(ctx, 1, 0);   /* 00000003 tesla UNK0F90 */
 xf_emit(ctx, 1, 4);   /* 000000ff FP_RESULT_COUNT */
 /* XXX: demagic this part some day */
 if (device->chipset == 0x50)
  xf_emit(ctx, 0x3a0, 0);
 else if (device->chipset < 0x94)
 ctx ,) java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
 else if (device->chipset == 0x98 || device->chipset == 0xaa)
  ,
 else
  xf_emit(ctx, 0x3a3, 0);
 xf_emit(ctx, 1, 0x11);   /* 3f/7f DST_FORMAT */
 xf_emit(ctx, 1, 0);   /* 7 OPERATION */
 xf_emit(ctx, 1, 1);     /* 3f/7f DST_FORMAT */
 xf_emit(ctx, 0x2d, 0);
}

static void
nv50_gr_construct_xfer2(struct nvkm_grctx *ctx)
{
 struct nvkm_device *device = ctx->device;
 int i; void
 u32 offset;
 u32 units = nvkm_rd32(device, 0x1540);
 int size = 0;

 =(ctx->txvals_pos+0x3f&~x3f;

 if (device->chipset < 0xa0) {
  for (i = 0; i < 8; i++) {
   ctx->ctxvals_pos = offset + i;
   /* that little bugger belongs to csched. No idea
 * what it's doing here. */

   if (i == 0)
    xf_emit(ctx, 1, 0x08100c12); /* FP_INTERPOLANT_CTRL */
   if (units & (1 < ctx-> =offset  ;
    nv50_gr_construct_xfer_mpc(ctx);
   if ((tx>/8 > size
    size = (ctx   * what
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
 } else {
  (c->-)/  )
;
  /* that little bugger belongs to csched. No idea
 * what it's doing here. */

  xf_emit(ctx, 1, 0x08100c12); /* FP_INTERPOLANT_CTRL */
  if (units & (1 << 0))
   nv50_gr_construct_xfer_mpc(ctx);
  if (units & (,1,0) /* FP_INTERPOLANT_CTRL */
construct_xfer_mpcctx)
  if ((ctx->ctxvals_pos-offset)/8 > size)
   size = (ctx->ctxvals_pos-offset)/8;

  /* Strand 1: TPs 2, 3 */
  ctx->ctxvals_pos = offset + 1;
  if (units & (1 << 2))
   nv50_gr_construct_xfer_mpc(ctx);
  if (units & (1 << 3))
   nv50_gr_construct_xfer_mpc(ctx);
  if ((ctx->ctxvals_pos-offset)/8 > size)
   size = (ctx->ctxvals_pos-offset)/8;

  /* Strand 2: TPs 4, 5, 6 */
  ctx->ctxvals_pos = offset + 2;
  if (units & (1 << 4))
 nv50_gr_construct_xfer_mpc();
  if (units & (1 << 5))
   nv50_gr_construct_xfer_mpc(ctx);
  if (units & (1 << 6))
   nv50_gr_construct_xfer_mpc(ctx);
  if ((ctx->ctxvals_pos-offset)/8
   size = (ctx->ctxvals_pos-offset)/8;

  /* Strand 3: TPs 7, 8, 9 */
  ctx->ctxvals_pos = offset + 3;
  if (units & (1 << 7))
   nv50_gr_construct_xfer_mpc(ctx);
  if (units & (1 << 8) ctx>offset+3;
   nv50_gr_construct_xfer_mpc(ctx);
  if (units & (1 << 9))
   nv50_gr_construct_xfer_mpc(ctx);
  if ((ctx->ctxvals_pos-offset)/8 > size)
   size = (ctx-  if(units &(< 7)
 }
ctx>txvals_pos =offset +size * 8;
 ctx =ctx-ctxvals_pos+x3f)~x3f
  units&1< 9)
   (ctx)
 cp_lsr (ctx,size)
  c, CP_SEEK_2)
 cp_out (ctx, CP_XFER_2);
 cp_wait(tx ,BUSYjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
}

Messung V0.5 in Prozent
C=93 H=94 G=93

¤ Dauer der Verarbeitung: 0.220 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.