home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 5 / MA_Cover_5.iso / ppc / mesa / src / enable.s < prev    next >
Encoding:
Text File  |  1998-01-31  |  29.6 KB  |  2,041 lines

  1.  
  2. ; Storm C Compiler
  3. ; TEMP:Mesa_2_5/src/enable.c
  4.     mc68030
  5.     mc68881
  6.     XREF    _gl_set_color_function
  7.     XREF    _gl_set_material
  8.     XREF    _gl_error
  9.     XREF    _gl_warning
  10.     XREF    _CC
  11.  
  12.     SECTION "_gl_enable:0",CODE
  13.  
  14.  
  15. ;static void gl_enable( GLcontext* ctx, GLenum cap, GLboolean state )
  16. _gl_enable
  17. L338    EQU    -$14
  18.     link    a5,#L338
  19.     movem.l    d2/a2,-(a7)
  20.     move.b    $10(a5),d0
  21.     move.l    $C(a5),d1
  22.     move.l    $8(a5),a2
  23. L183
  24. ;   if (INSIDE_BEGIN_END(ctx)) 
  25.     move.l    a2,a0
  26.     add.l    #$E08A,a0
  27.     move.l    (a0),d2
  28.     cmp.l    #$1A00,d2
  29.     beq.b    L188
  30. L184
  31. ;      if (state) 
  32.     tst.b    d0
  33.     beq.b    L186
  34. L185
  35. ;     gl_error( ctx, GL_INVALID_OPERATION, "glEnable" );
  36.     move.l    #L179,-(a7)
  37.     pea    $502.w
  38.     move.l    a2,-(a7)
  39.     jsr    _gl_error
  40.     add.w    #$C,a7
  41.     bra.b    L187
  42. L186
  43. ;     gl_error( ctx, GL_INVALID_OPERATION, "glDisable" );
  44.     move.l    #L180,-(a7)
  45.     pea    $502.w
  46.     move.l    a2,-(a7)
  47.     jsr    _gl_error
  48.     add.w    #$C,a7
  49. L187
  50.     movem.l    (a7)+,d2/a2
  51.     unlk    a5
  52.     rts
  53. L188
  54. ;   switch (cap)
  55.     move.l    d1,d2
  56.     cmp.l    #$DB2,d2
  57.     beq    L255
  58.     bgt    L339
  59.     cmp.l    #$C11,d2
  60.     beq    L281
  61.     bgt    L340
  62.     cmp.l    #$B60,d2
  63.     beq    L225
  64.     bgt.b    L341
  65.     cmp.l    #$B42,d2
  66.     beq    L269
  67.     bgt.b    L342
  68.     cmp.l    #$B24,d2
  69.     beq    L235
  70.     bgt.b    L343
  71.     cmp.l    #$B10,d2
  72.     beq    L263
  73.     cmp.l    #$B20,d2
  74.     beq    L232
  75.     bra    L333
  76. L343
  77.     cmp.l    #$B41,d2
  78.     beq    L266
  79.     bra    L333
  80. L342
  81.     cmp.l    #$B50,d2
  82.     beq    L229
  83.     bgt.b    L344
  84.     cmp.l    #$B44,d2
  85.     beq    L211
  86.     bra    L333
  87. L344
  88.     cmp.l    #$B57,d2
  89.     beq    L206
  90.     bra    L333
  91. L341
  92.     cmp.l    #$BD0,d2
  93.     beq    L220
  94.     bgt.b    L345
  95.     cmp.l    #$BA1,d2
  96.     beq    L262
  97.     bgt.b    L346
  98.     cmp.l    #$B71,d2
  99.     beq    L214
  100.     cmp.l    #$B90,d2
  101.     beq    L287
  102.     bra    L333
  103. L346
  104.     cmp.l    #$BC0,d2
  105.     beq    L189
  106.     bra    L333
  107. L345
  108.     cmp.l    #$BF1,d2
  109.     beq    L238
  110.     bgt.b    L347
  111.     cmp.l    #$BE2,d2
  112.     beq    L193
  113.     bra    L333
  114. L347
  115.     cmp.l    #$BF2,d2
  116.     beq    L241
  117.     bra    L333
  118. L340
  119.     cmp.l    #$D93,d2
  120.     beq    L247
  121.     bgt.b    L348
  122.     cmp.l    #$D80,d2
  123.     beq    L192
  124.     bgt.b    L349
  125.     cmp.l    #$C62,d2
  126.     beq    L315
  127.     bgt.b    L350
  128.     cmp.l    #$C60,d2
  129.     beq    L319
  130.     cmp.l    #$C61,d2
  131.     beq    L323
  132.     bra    L333
  133. L350
  134.     cmp.l    #$C63,d2
  135.     beq    L311
  136.     bra    L333
  137. L349
  138.     cmp.l    #$D91,d2
  139.     beq    L245
  140.     bgt.b    L351
  141.     cmp.l    #$D90,d2
  142.     beq    L244
  143.     bra    L333
  144. L351
  145.     bgt    L246
  146. L348
  147.     cmp.l    #$D97,d2
  148.     beq    L251
  149.     bgt.b    L352
  150.     cmp.l    #$D95,d2
  151.     beq    L249
  152.     bgt.b    L353
  153.     blt    L248
  154. L353
  155.     bgt    L250
  156. L352
  157.     cmp.l    #$DB0,d2
  158.     beq    L253
  159.     bgt.b    L354
  160.     cmp.l    #$D98,d2
  161.     beq    L252
  162.     bra    L333
  163. L354
  164.     bgt    L254
  165. L339
  166.     cmp.l    #$4000,d2
  167.     beq    L228
  168.     bgt    L355
  169.     cmp.l    #$2A01,d2
  170.     beq    L272
  171.     bgt.b    L356
  172.     cmp.l    #$DB7,d2
  173.     beq    L260
  174.     bgt.b    L357
  175.     cmp.l    #$DB5,d2
  176.     beq    L258
  177.     bgt.b    L358
  178.     cmp.l    #$DB3,d2
  179.     beq    L256
  180.     cmp.l    #$DB4,d2
  181.     beq    L257
  182.     bra    L333
  183. L358
  184.     bgt    L259
  185. L357
  186.     cmp.l    #$DE0,d2
  187.     beq    L293
  188.     bgt.b    L359
  189.     cmp.l    #$DB8,d2
  190.     beq    L261
  191.     bra    L333
  192. L359
  193.     cmp.l    #$DE1,d2
  194.     beq    L299
  195.     bra    L333
  196. L356
  197.     cmp.l    #$3002,d2
  198.     beq    L200
  199.     bgt.b    L360
  200.     cmp.l    #$3000,d2
  201.     beq    L200
  202.     bgt.b    L361
  203.     cmp.l    #$2A02,d2
  204.     beq    L275
  205.     bra    L333
  206. L361
  207.     bgt    L200
  208. L360
  209.     cmp.l    #$3004,d2
  210.     beq    L200
  211.     bgt.b    L362
  212.     blt    L200
  213. L362
  214.     cmp.l    #$3005,d2
  215.     beq    L200
  216.     bra    L333
  217. L355
  218.     cmp.l    #$806F,d2
  219.     beq    L305
  220.     bgt.b    L363
  221.     cmp.l    #$4005,d2
  222.     beq    L228
  223.     bgt.b    L364
  224.     cmp.l    #$4003,d2
  225.     beq    L228
  226.     bgt.b    L365
  227.     cmp.l    #$4001,d2
  228.     beq    L228
  229.     cmp.l    #$4002,d2
  230.     beq    L228
  231.     bra    L333
  232. L365
  233.     bgt    L228
  234. L364
  235.     cmp.l    #$4007,d2
  236.     beq    L228
  237.     bgt.b    L366
  238.     blt    L228
  239. L366
  240.     cmp.l    #$8037,d2
  241.     beq    L278
  242.     bra    L333
  243. L363
  244.     cmp.l    #$8077,d2
  245.     beq    L330
  246.     bgt.b    L367
  247.     cmp.l    #$8075,d2
  248.     beq    L328
  249.     bgt.b    L368
  250.     cmp.l    #$8074,d2
  251.     beq    L327
  252.     bra    L333
  253. L368
  254.     bgt    L329
  255. L367
  256.     cmp.l    #$8079,d2
  257.     beq    L332
  258.     bgt.b    L369
  259.     blt    L331
  260. L369
  261.     cmp.l    #$81FB,d2
  262.     beq    L284
  263.     bra    L333
  264. ;      
  265. L189
  266. ;         if (ctx->Color.AlphaEnabled!=state) 
  267.     lea    $1E74(a2),a0
  268.     move.b    $22(a0),d1
  269.     cmp.b    d0,d1
  270.     beq    L337
  271. L190
  272. ;            ctx->Color.AlphaEnabled = state;
  273.     move.b    d0,$1E96(a2)
  274. ;            ctx->NewState |= NEW_RASTER_OPS;
  275.     move.l    a2,a0
  276.     add.l    #$E082,a0
  277.     move.l    (a0),d0
  278.     or.l    #2,d0
  279.     move.l    a2,a0
  280.     add.l    #$E082,a0
  281.     move.l    d0,(a0)
  282. L191
  283. ;     
  284.     bra    L337
  285. L192
  286. ;     ctx->Eval.AutoNormal = state;
  287.     move.b    d0,$1F40(a2)
  288. ;     
  289.     bra    L337
  290. L193
  291. ;         if (ctx->Color.BlendEnabled!=state) 
  292.     lea    $1E74(a2),a0
  293.     move.b    $2D(a0),d1
  294.     cmp.b    d0,d1
  295.     beq    L337
  296. L194
  297. ;            ctx->Color.BlendEnabled = state;
  298.     move.b    d0,$1EA1(a2)
  299. ;            if (ctx->Color.BlendEquation==GL_LOGIC_OP &&
  300.     lea    $1E74(a2),a0
  301.     move.l    $36(a0),d1
  302.     cmp.l    #$BF1,d1
  303.     bne.b    L197
  304. L195
  305.     tst.b    d0
  306.     beq.b    L197
  307. L196
  308. ;               ctx->Color.ColorLogicOpEnabled = GL_TR
  309.     move.b    #1,$1EC3(a2)
  310.     bra.b    L198
  311. L197
  312. ;               ctx->Color.ColorLogicOpEnabled = GL_FA
  313.     clr.b    $1EC3(a2)
  314. L198
  315. ;            ctx->NewState |= NEW_RASTER_OPS;
  316.     move.l    a2,a0
  317.     add.l    #$E082,a0
  318.     move.l    (a0),d0
  319.     or.l    #2,d0
  320.     move.l    a2,a0
  321.     add.l    #$E082,a0
  322.     move.l    d0,(a0)
  323. L199
  324. ;     
  325.     bra    L337
  326. L200
  327. ;     ctx->Transform.ClipEnabled[cap-GL_CLIP_PLANE0] = state;
  328.     move.l    a2,a0
  329.     add.l    #$DC76,a0
  330.     lea    (a0),a0
  331.     sub.w    #$3000,a0
  332.     add.l    d1,a0
  333.     move.b    d0,(a0)
  334. ;         ctx->Transform.AnyClip = GL_FALSE;
  335.     move.l    a2,a0
  336.     add.l    #$DC7C,a0
  337.     clr.b    (a0)
  338. ;         for (p=0;
  339.     moveq    #0,d0
  340.     bra.b    L204
  341. L201
  342. ;            if (ctx->Transform.ClipEnabled[p]) 
  343.     move.l    a2,a0
  344.     add.l    #$DC76,a0
  345.     lea    (a0),a0
  346.     add.l    d0,a0
  347.     move.b    (a0),d1
  348.     beq.b    L203
  349. L202
  350. ;               ctx->Transform.AnyClip = GL_TRUE;
  351.     move.l    a2,a0
  352.     add.l    #$DC7C,a0
  353.     move.b    #1,(a0)
  354. ;               
  355.     bra    L337
  356. L203
  357.     addq.l    #1,d0
  358. L204
  359.     cmp.l    #6,d0
  360.     blo.b    L201
  361. L205
  362. ;     
  363.     bra    L337
  364. L206
  365. ;         if (ctx->Light.ColorMaterialEnabled!=state) 
  366.     lea    $1FA0(a2),a0
  367.     add.l    #$8E14,a0
  368.     move.b    (a0),d1
  369.     cmp.b    d0,d1
  370.     beq    L337
  371. L207
  372. ;            ctx->Light.ColorMaterialEnabled = state;
  373.     move.l    a2,a0
  374.     add.l    #$ADB4,a0
  375.     move.b    d0,(a0)
  376. ;            if (state) 
  377.     beq    L209
  378. L208
  379. ;               color[0] = ctx->Current.ByteColor[0] *
  380.     lea    $1EC6(a2),a0
  381.     move.b    (a0),d0
  382.     and.l    #$FF,d0
  383.     fmove.l    d0,fp0
  384.     move.l    $898(a2),a0
  385.     fmove.s    $14(a0),fp1
  386.     fmul.x    fp1,fp0
  387.     lea    -$14(a5),a0
  388.     fmove.s    fp0,(a0)
  389. ;               color[1] = ctx->Current.ByteColor[1] *
  390.     lea    $1EC6(a2),a0
  391.     addq.w    #1,a0
  392.     move.b    (a0),d0
  393.     and.l    #$FF,d0
  394.     fmove.l    d0,fp0
  395.     move.l    $898(a2),a0
  396.     fmove.s    $18(a0),fp1
  397.     fmul.x    fp1,fp0
  398.     lea    -$14(a5),a0
  399.     addq.w    #4,a0
  400.     fmove.s    fp0,(a0)
  401. ;               color[2] = ctx->Current.ByteColor[2] *
  402.     lea    $1EC6(a2),a0
  403.     addq.w    #2,a0
  404.     move.b    (a0),d0
  405.     and.l    #$FF,d0
  406.     fmove.l    d0,fp0
  407.     move.l    $898(a2),a0
  408.     fmove.s    $1C(a0),fp1
  409.     fmul.x    fp1,fp0
  410.     lea    -$14(a5),a0
  411.     addq.w    #$8,a0
  412.     fmove.s    fp0,(a0)
  413. ;               color[3] = ctx->Current.ByteColor[3] *
  414.     lea    $1EC6(a2),a0
  415.     addq.w    #3,a0
  416.     move.b    (a0),d0
  417.     and.l    #$FF,d0
  418.     fmove.l    d0,fp0
  419.     move.l    $898(a2),a0
  420.     fmove.s    $20(a0),fp1
  421.     fmul.x    fp1,fp0
  422.     lea    -$14(a5),a0
  423.     add.w    #$C,a0
  424.     fmove.s    fp0,(a0)
  425. ;               gl_set_material( ctx, ctx->Light.Color
  426.     lea    -$14(a5),a0
  427.     move.l    a0,-(a7)
  428.     lea    $1FA0(a2),a0
  429.     add.l    #$8E10,a0
  430.     move.l    (a0),d0
  431.     move.l    d0,-(a7)
  432.     move.l    a2,-(a7)
  433.     jsr    _gl_set_material
  434.     add.w    #$C,a7
  435. L209
  436. ;            gl_set_color_function(ctx);
  437.     move.l    a2,-(a7)
  438.     jsr    _gl_set_color_function
  439.     addq.w    #4,a7
  440. ;            ctx->NewState |= NEW_LIGHTING;
  441.     move.l    a2,a0
  442.     add.l    #$E082,a0
  443.     move.l    (a0),d0
  444.     or.l    #1,d0
  445.     move.l    a2,a0
  446.     add.l    #$E082,a0
  447.     move.l    d0,(a0)
  448. L210
  449. ;     
  450.     bra    L337
  451. L211
  452. ;         if (ctx->Polygon.CullFlag!=state) 
  453.     move.l    a2,a0
  454.     add.l    #$D670,a0
  455.     lea    (a0),a0
  456.     move.b    $D(a0),d1
  457.     cmp.b    d0,d1
  458.     beq    L337
  459. L212
  460. ;            ctx->Polygon.CullFlag = state;
  461.     move.l    a2,a0
  462.     add.l    #$D67D,a0
  463.     move.b    d0,(a0)
  464. ;            ctx->NewState |= NEW_POLYGON;
  465.     move.l    a2,a0
  466.     add.l    #$E082,a0
  467.     move.l    (a0),d0
  468.     or.l    #$8,d0
  469.     move.l    a2,a0
  470.     add.l    #$E082,a0
  471.     move.l    d0,(a0)
  472. L213
  473. ;     
  474.     bra    L337
  475. L214
  476. ;         if (state && ctx->Visual->DepthBits==0) 
  477.     tst.b    d0
  478.     beq.b    L217
  479. L215
  480.     move.l    $898(a2),a0
  481.     move.l    $3C(a0),d1
  482.     bne.b    L217
  483. L216
  484. ;            gl_warning(ctx,"glEnable(GL_DEPTH_TEST) but 
  485.     move.l    #L181,-(a7)
  486.     move.l    a2,-(a7)
  487.     jsr    _gl_warning
  488.     addq.w    #$8,a7
  489.     movem.l    (a7)+,d2/a2
  490.     unlk    a5
  491.     rts
  492. L217
  493. ;     if (ctx->Depth.Test!=state) 
  494.     lea    $1F24(a2),a0
  495.     move.b    $8(a0),d1
  496.     cmp.b    d0,d1
  497.     beq    L337
  498. L218
  499. ;            ctx->Depth.Test = state;
  500.     move.b    d0,$1F2C(a2)
  501. ;            ctx->NewState |= NEW_RASTER_OPS;
  502.     move.l    a2,a0
  503.     add.l    #$E082,a0
  504.     move.l    (a0),d0
  505.     or.l    #2,d0
  506.     move.l    a2,a0
  507.     add.l    #$E082,a0
  508.     move.l    d0,(a0)
  509. L219
  510. ;         
  511.     bra    L337
  512. L220
  513. ;         if (ctx->NoDither) 
  514.     move.l    a2,a0
  515.     add.l    #$E0C9,a0
  516.     move.b    (a0),d1
  517.     beq.b    L222
  518. L221
  519. ;            state = GL_FALSE;
  520.     moveq    #0,d0
  521. L222
  522. ;         if (ctx->Color.DitherFlag!=state) 
  523.     lea    $1E74(a2),a0
  524.     move.b    $51(a0),d1
  525.     cmp.b    d0,d1
  526.     beq    L337
  527. L223
  528. ;            ctx->Color.DitherFlag = state;
  529.     move.b    d0,$1EC5(a2)
  530. ;            ctx->NewState |= NEW_RASTER_OPS;
  531.     move.l    a2,a0
  532.     add.l    #$E082,a0
  533.     move.l    (a0),d0
  534.     or.l    #2,d0
  535.     move.l    a2,a0
  536.     add.l    #$E082,a0
  537.     move.l    d0,(a0)
  538. L224
  539. ;     
  540.     bra    L337
  541. L225
  542. ;     if (ctx->Fog.Enabled!=state) 
  543.     lea    $1F66(a2),a0
  544.     move.b    (a0),d1
  545.     cmp.b    d0,d1
  546.     beq    L337
  547. L226
  548. ;            ctx->Fog.Enabled = state;
  549.     move.b    d0,$1F66(a2)
  550. ;            ctx->NewState |= NEW_RASTER_OPS;
  551.     move.l    a2,a0
  552.     add.l    #$E082,a0
  553.     move.l    (a0),d0
  554.     or.l    #2,d0
  555.     move.l    a2,a0
  556.     add.l    #$E082,a0
  557.     move.l    d0,(a0)
  558. L227
  559. ;     
  560.     bra    L337
  561. L228
  562. ;         ctx->Light.Light[cap-GL_LIGHT0].Enabled = state;
  563.     lea    $1FA0(a2),a0
  564.     sub.l    #$4388000,a0
  565.     lea    (a0),a0
  566.     muls.l    #$10E2,d1
  567.     add.l    d1,a0
  568.     move.b    d0,$68(a0)
  569. ;         ctx->NewState |= NEW_LIGHTING;
  570.     move.l    a2,a0
  571.     add.l    #$E082,a0
  572.     move.l    (a0),d0
  573.     or.l    #1,d0
  574.     move.l    a2,a0
  575.     add.l    #$E082,a0
  576.     move.l    d0,(a0)
  577. ;         
  578.     bra    L337
  579. L229
  580. ;         if (ctx->Light.Enabled!=state) 
  581.     lea    $1FA0(a2),a0
  582.     add.l    #$8E02,a0
  583.     move.b    (a0),d1
  584.     cmp.b    d0,d1
  585.     beq    L337
  586. L230
  587. ;            ctx->Light.Enabled = state;
  588.     move.l    a2,a0
  589.     add.l    #$ADA2,a0
  590.     move.b    d0,(a0)
  591. ;            ctx->NewState |= NEW_LIGHTING;
  592.     move.l    a2,a0
  593.     add.l    #$E082,a0
  594.     move.l    (a0),d0
  595.     or.l    #1,d0
  596.     move.l    a2,a0
  597.     add.l    #$E082,a0
  598.     move.l    d0,(a0)
  599. L231
  600. ;         
  601.     bra    L337
  602. L232
  603. ;     if (ctx->Line.SmoothFlag!=state) 
  604.     move.l    a2,a0
  605.     add.l    #$ADDC,a0
  606.     lea    (a0),a0
  607.     move.b    (a0),d1
  608.     cmp.b    d0,d1
  609.     beq    L337
  610. L233
  611. ;            ctx->Line.SmoothFlag = state;
  612.     move.l    a2,a0
  613.     add.l    #$ADDC,a0
  614.     move.b    d0,(a0)
  615. ;            ctx->NewState |= NEW_RASTER_OPS;
  616.     move.l    a2,a0
  617.     add.l    #$E082,a0
  618.     move.l    (a0),d0
  619.     or.l    #2,d0
  620.     move.l    a2,a0
  621.     add.l    #$E082,a0
  622.     move.l    d0,(a0)
  623. L234
  624. ;     
  625.     bra    L337
  626. L235
  627. ;     if (ctx->Line.StippleFlag!=state) 
  628.     move.l    a2,a0
  629.     add.l    #$ADDC,a0
  630.     lea    (a0),a0
  631.     move.b    1(a0),d1
  632.     cmp.b    d0,d1
  633.     beq    L337
  634. L236
  635. ;            ctx->Line.StippleFlag = state;
  636.     move.l    a2,a0
  637.     add.l    #$ADDD,a0
  638.     move.b    d0,(a0)
  639. ;            ctx->NewState |= NEW_RASTER_OPS;
  640.     move.l    a2,a0
  641.     add.l    #$E082,a0
  642.     move.l    (a0),d0
  643.     or.l    #2,d0
  644.     move.l    a2,a0
  645.     add.l    #$E082,a0
  646.     move.l    d0,(a0)
  647. L237
  648. ;     
  649.     bra    L337
  650. L238
  651. ;         if (ctx->Color.IndexLogicOpEnabled!=state) 
  652.     lea    $1E74(a2),a0
  653.     move.b    $4E(a0),d1
  654.     cmp.b    d0,d1
  655.     beq.b    L240
  656. L239
  657. ;            ctx->NewState |= NEW_RASTER_OPS;
  658.     move.l    a2,a0
  659.     add.l    #$E082,a0
  660.     move.l    (a0),d1
  661.     or.l    #2,d1
  662.     move.l    a2,a0
  663.     add.l    #$E082,a0
  664.     move.l    d1,(a0)
  665. L240
  666. ;     ctx->Color.IndexLogicOpEnabled = state;
  667.     move.b    d0,$1EC2(a2)
  668. ;     
  669.     bra    L337
  670. L241
  671. ;         if (ctx->Color.ColorLogicOpEnabled!=state) 
  672.     lea    $1E74(a2),a0
  673.     move.b    $4F(a0),d1
  674.     cmp.b    d0,d1
  675.     beq.b    L243
  676. L242
  677. ;            ctx->NewState |= NEW_RASTER_OPS;
  678.     move.l    a2,a0
  679.     add.l    #$E082,a0
  680.     move.l    (a0),d1
  681.     or.l    #2,d1
  682.     move.l    a2,a0
  683.     add.l    #$E082,a0
  684.     move.l    d1,(a0)
  685. L243
  686. ;     ctx->Color.ColorLogicOpEnabled = state;
  687.     move.b    d0,$1EC3(a2)
  688. ;     
  689.     bra    L337
  690. L244
  691. ;     ctx->Eval.Map1Color4 = state;
  692.     move.b    d0,$1F2E(a2)
  693. ;     
  694.     bra    L337
  695. L245
  696. ;     ctx->Eval.Map1Index = state;
  697.     move.b    d0,$1F2F(a2)
  698. ;     
  699.     bra    L337
  700. L246
  701. ;     ctx->Eval.Map1Normal = state;
  702.     move.b    d0,$1F30(a2)
  703. ;     
  704.     bra    L337
  705. L247
  706. ;     ctx->Eval.Map1TextureCoord1 = state;
  707.     move.b    d0,$1F31(a2)
  708. ;     
  709.     bra    L337
  710. L248
  711. ;     ctx->Eval.Map1TextureCoord2 = state;
  712.     move.b    d0,$1F32(a2)
  713. ;     
  714.     bra    L337
  715. L249
  716. ;     ctx->Eval.Map1TextureCoord3 = state;
  717.     move.b    d0,$1F33(a2)
  718. ;     
  719.     bra    L337
  720. L250
  721. ;     ctx->Eval.Map1TextureCoord4 = state;
  722.     move.b    d0,$1F34(a2)
  723. ;     
  724.     bra    L337
  725. L251
  726. ;     ctx->Eval.Map1Vertex3 = state;
  727.     move.b    d0,$1F35(a2)
  728. ;     
  729.     bra    L337
  730. L252
  731. ;     ctx->Eval.Map1Vertex4 = state;
  732.     move.b    d0,$1F36(a2)
  733. ;     
  734.     bra    L337
  735. L253
  736. ;     ctx->Eval.Map2Color4 = state;
  737.     move.b    d0,$1F37(a2)
  738. ;     
  739.     bra    L337
  740. L254
  741. ;     ctx->Eval.Map2Index = state;
  742.     move.b    d0,$1F38(a2)
  743. ;     
  744.     bra    L337
  745. L255
  746. ;     ctx->Eval.Map2Normal = state;
  747.     move.b    d0,$1F39(a2)
  748. ;     
  749.     bra    L337
  750. L256
  751. ;     ctx->Eval.Map2TextureCoord1 = state;
  752.     move.b    d0,$1F3A(a2)
  753. ;     
  754.     bra    L337
  755. L257
  756. ;     ctx->Eval.Map2TextureCoord2 = state;
  757.     move.b    d0,$1F3B(a2)
  758. ;     
  759.     bra    L337
  760. L258
  761. ;     ctx->Eval.Map2TextureCoord3 = state;
  762.     move.b    d0,$1F3C(a2)
  763. ;     
  764.     bra    L337
  765. L259
  766. ;     ctx->Eval.Map2TextureCoord4 = state;
  767.     move.b    d0,$1F3D(a2)
  768. ;     
  769.     bra    L337
  770. L260
  771. ;     ctx->Eval.Map2Vertex3 = state;
  772.     move.b    d0,$1F3E(a2)
  773. ;     
  774.     bra    L337
  775. L261
  776. ;     ctx->Eval.Map2Vertex4 = state;
  777.     move.b    d0,$1F3F(a2)
  778. ;     
  779.     bra    L337
  780. L262
  781. ;     ctx->Transform.Normalize = state;
  782.     move.l    a2,a0
  783.     add.l    #$DC7D,a0
  784.     move.b    d0,(a0)
  785. ;     
  786.     bra    L337
  787. L263
  788. ;     if (ctx->Point.SmoothFlag!=state) 
  789.     move.l    a2,a0
  790.     add.l    #$D652,a0
  791.     lea    (a0),a0
  792.     move.b    (a0),d1
  793.     cmp.b    d0,d1
  794.     beq    L337
  795. L264
  796. ;            ctx->Point.SmoothFlag = state;
  797.     move.l    a2,a0
  798.     add.l    #$D652,a0
  799.     move.b    d0,(a0)
  800. ;            ctx->NewState |= NEW_RASTER_OPS;
  801.     move.l    a2,a0
  802.     add.l    #$E082,a0
  803.     move.l    (a0),d0
  804.     or.l    #2,d0
  805.     move.l    a2,a0
  806.     add.l    #$E082,a0
  807.     move.l    d0,(a0)
  808. L265
  809. ;     
  810.     bra    L337
  811. L266
  812. ;     if (ctx->Polygon.SmoothFlag!=state) 
  813.     move.l    a2,a0
  814.     add.l    #$D670,a0
  815.     lea    (a0),a0
  816.     move.b    $16(a0),d1
  817.     cmp.b    d0,d1
  818.     beq    L337
  819. L267
  820. ;            ctx->Polygon.SmoothFlag = state;
  821.     move.l    a2,a0
  822.     add.l    #$D686,a0
  823.     move.b    d0,(a0)
  824. ;            ctx->NewState |= NEW_RASTER_OPS;
  825.     move.l    a2,a0
  826.     add.l    #$E082,a0
  827.     move.l    (a0),d0
  828.     or.l    #2,d0
  829.     move.l    a2,a0
  830.     add.l    #$E082,a0
  831.     move.l    d0,(a0)
  832. L268
  833. ;     
  834.     bra    L337
  835. L269
  836. ;     if (ctx->Polygon.StippleFlag!=state) 
  837.     move.l    a2,a0
  838.     add.l    #$D670,a0
  839.     lea    (a0),a0
  840.     move.b    $17(a0),d1
  841.     cmp.b    d0,d1
  842.     beq    L337
  843. L270
  844. ;            ctx->Polygon.StippleFlag = state;
  845.     move.l    a2,a0
  846.     add.l    #$D687,a0
  847.     move.b    d0,(a0)
  848. ;            ctx->NewState |= NEW_RASTER_OPS;
  849.     move.l    a2,a0
  850.     add.l    #$E082,a0
  851.     move.l    (a0),d0
  852.     or.l    #2,d0
  853.     move.l    a2,a0
  854.     add.l    #$E082,a0
  855.     move.l    d0,(a0)
  856. L271
  857. ;     
  858.     bra    L337
  859. L272
  860. ;         if (ctx->Polygon.OffsetPoint!=state) 
  861.     move.l    a2,a0
  862.     add.l    #$D670,a0
  863.     lea    (a0),a0
  864.     move.b    $20(a0),d1
  865.     cmp.b    d0,d1
  866.     beq    L337
  867. L273
  868. ;            ctx->Polygon.OffsetPoint = state;
  869.     move.l    a2,a0
  870.     add.l    #$D690,a0
  871.     move.b    d0,(a0)
  872. ;            ctx->NewState |= NEW_POLYGON;
  873.     move.l    a2,a0
  874.     add.l    #$E082,a0
  875.     move.l    (a0),d0
  876.     or.l    #$8,d0
  877.     move.l    a2,a0
  878.     add.l    #$E082,a0
  879.     move.l    d0,(a0)
  880. L274
  881. ;         
  882.     bra    L337
  883. L275
  884. ;         if (ctx->Polygon.OffsetLine!=state) 
  885.     move.l    a2,a0
  886.     add.l    #$D670,a0
  887.     lea    (a0),a0
  888.     move.b    $21(a0),d1
  889.     cmp.b    d0,d1
  890.     beq    L337
  891. L276
  892. ;            ctx->Polygon.OffsetLine = state;
  893.     move.l    a2,a0
  894.     add.l    #$D691,a0
  895.     move.b    d0,(a0)
  896. ;            ctx->NewState |= NEW_POLYGON;
  897.     move.l    a2,a0
  898.     add.l    #$E082,a0
  899.     move.l    (a0),d0
  900.     or.l    #$8,d0
  901.     move.l    a2,a0
  902.     add.l    #$E082,a0
  903.     move.l    d0,(a0)
  904. L277
  905. ;         
  906.     bra    L337
  907. L278
  908. ;         if (ctx->Polygon.OffsetFill!=state) 
  909.     move.l    a2,a0
  910.     add.l    #$D670,a0
  911.     lea    (a0),a0
  912.     move.b    $22(a0),d1
  913.     cmp.b    d0,d1
  914.     beq    L337
  915. L279
  916. ;            ctx->Polygon.OffsetFill = state;
  917.     move.l    a2,a0
  918.     add.l    #$D692,a0
  919.     move.b    d0,(a0)
  920. ;            ctx->NewState |= NEW_POLYGON;
  921.     move.l    a2,a0
  922.     add.l    #$E082,a0
  923.     move.l    (a0),d0
  924.     or.l    #$8,d0
  925.     move.l    a2,a0
  926.     add.l    #$E082,a0
  927.     move.l    d0,(a0)
  928. L280
  929. ;         
  930.     bra    L337
  931. L281
  932. ;         if (ctx->Scissor.Enabled!=state) 
  933.     move.l    a2,a0
  934.     add.l    #$D714,a0
  935.     lea    (a0),a0
  936.     move.b    (a0),d1
  937.     cmp.b    d0,d1
  938.     beq    L337
  939. L282
  940. ;            ctx->Scissor.Enabled = state;
  941.     move.l    a2,a0
  942.     add.l    #$D714,a0
  943.     move.b    d0,(a0)
  944. ;            ctx->NewState |= NEW_RASTER_OPS;
  945.     move.l    a2,a0
  946.     add.l    #$E082,a0
  947.     move.l    (a0),d0
  948.     or.l    #2,d0
  949.     move.l    a2,a0
  950.     add.l    #$E082,a0
  951.     move.l    d0,(a0)
  952. L283
  953. ;     
  954.     bra    L337
  955. L284
  956. ;         ctx->Texture.SharedPalette = state;
  957.     move.l    a2,a0
  958.     add.l    #$D804,a0
  959.     move.b    d0,(a0)
  960. ;         if (ctx->Driver.UseGlobalTexturePalette)
  961.     lea    $8A0(a2),a0
  962.     move.l    $D0(a0),a0
  963.     cmp.w    #0,a0
  964.     beq    L337
  965. L285
  966. ;            (*ctx->Driver.UseGlobalTexturePalette)( ctx,
  967.     move.b    d0,-(a7)
  968.     move.l    a2,-(a7)
  969.     lea    $8A0(a2),a0
  970.     move.l    $D0(a0),a0
  971.     jsr    (a0)
  972.     addq.w    #6,a7
  973. L286
  974. ;         
  975.     bra    L337
  976. L287
  977. ;     if (state && ctx->Visual->StencilBits==0) 
  978.     tst.b    d0
  979.     beq.b    L290
  980. L288
  981.     move.l    $898(a2),a0
  982.     move.l    $40(a0),d1
  983.     bne.b    L290
  984. L289
  985. ;            gl_warning(ctx, "glEnable(GL_STENCIL_TEST) b
  986.     move.l    #L182,-(a7)
  987.     move.l    a2,-(a7)
  988.     jsr    _gl_warning
  989.     addq.w    #$8,a7
  990.     movem.l    (a7)+,d2/a2
  991.     unlk    a5
  992.     rts
  993. L290
  994. ;     if (ctx->Stencil.Enabled!=state) 
  995.     move.l    a2,a0
  996.     add.l    #$D726,a0
  997.     lea    (a0),a0
  998.     move.b    (a0),d1
  999.     cmp.b    d0,d1
  1000.     beq    L337
  1001. L291
  1002. ;            ctx->Stencil.Enabled = state;
  1003.     move.l    a2,a0
  1004.     add.l    #$D726,a0
  1005.     move.b    d0,(a0)
  1006. ;            ctx->NewState |= NEW_RASTER_OPS;
  1007.     move.l    a2,a0
  1008.     add.l    #$E082,a0
  1009.     move.l    (a0),d0
  1010.     or.l    #2,d0
  1011.     move.l    a2,a0
  1012.     add.l    #$E082,a0
  1013.     move.l    d0,(a0)
  1014. L292
  1015. ;     
  1016.     bra    L337
  1017. L293
  1018. ;         if (ctx->Visual->RGBAflag) 
  1019.     move.l    $898(a2),a0
  1020.     move.b    (a0),d1
  1021.     beq    L337
  1022. L294
  1023. ;            if (state) 
  1024.     tst.b    d0
  1025.     beq.b    L296
  1026. L295
  1027. ;               ctx->Texture.Enabled |= TEXTURE_1D;
  1028.     move.l    a2,a0
  1029.     add.l    #$D73C,a0
  1030.     move.l    (a0),d0
  1031.     or.l    #1,d0
  1032.     move.l    a2,a0
  1033.     add.l    #$D73C,a0
  1034.     move.l    d0,(a0)
  1035.     bra.b    L297
  1036. L296
  1037. ;               ctx->Texture.Enabled &= (~TEXTURE_1D);
  1038.     move.l    a2,a0
  1039.     add.l    #$D73C,a0
  1040.     move.l    (a0),d0
  1041.     and.l    #-2,d0
  1042.     move.l    a2,a0
  1043.     add.l    #$D73C,a0
  1044.     move.l    d0,(a0)
  1045. L297
  1046. ;            ctx->NewState |= (NEW_RASTER_OPS | NEW_TEXTU
  1047.     move.l    a2,a0
  1048.     add.l    #$E082,a0
  1049.     move.l    (a0),d0
  1050.     or.l    #6,d0
  1051.     move.l    a2,a0
  1052.     add.l    #$E082,a0
  1053.     move.l    d0,(a0)
  1054. L298
  1055. ;     
  1056.     bra    L337
  1057. L299
  1058. ;         if (ctx->Visual->RGBAflag) 
  1059.     move.l    $898(a2),a0
  1060.     move.b    (a0),d1
  1061.     beq    L337
  1062. L300
  1063. ;            if (state) 
  1064.     tst.b    d0
  1065.     beq.b    L302
  1066. L301
  1067. ;               ctx->Texture.Enabled |= TEXTURE_2D;
  1068.     move.l    a2,a0
  1069.     add.l    #$D73C,a0
  1070.     move.l    (a0),d0
  1071.     or.l    #2,d0
  1072.     move.l    a2,a0
  1073.     add.l    #$D73C,a0
  1074.     move.l    d0,(a0)
  1075.     bra.b    L303
  1076. L302
  1077. ;               ctx->Texture.Enabled &= (~TEXTURE_2D);
  1078.     move.l    a2,a0
  1079.     add.l    #$D73C,a0
  1080.     move.l    (a0),d0
  1081.     and.l    #-3,d0
  1082.     move.l    a2,a0
  1083.     add.l    #$D73C,a0
  1084.     move.l    d0,(a0)
  1085. L303
  1086. ;            ctx->NewState |= (NEW_RASTER_OPS | NEW_TEXTU
  1087.     move.l    a2,a0
  1088.     add.l    #$E082,a0
  1089.     move.l    (a0),d0
  1090.     or.l    #6,d0
  1091.     move.l    a2,a0
  1092.     add.l    #$E082,a0
  1093.     move.l    d0,(a0)
  1094. L304
  1095. ;     
  1096.     bra    L337
  1097. L305
  1098. ;         if (ctx->Visual->RGBAflag) 
  1099.     move.l    $898(a2),a0
  1100.     move.b    (a0),d1
  1101.     beq    L337
  1102. L306
  1103. ;            if (state) 
  1104.     tst.b    d0
  1105.     beq.b    L308
  1106. L307
  1107. ;               ctx->Texture.Enabled |= TEXTURE_3D;
  1108.     move.l    a2,a0
  1109.     add.l    #$D73C,a0
  1110.     move.l    (a0),d0
  1111.     or.l    #4,d0
  1112.     move.l    a2,a0
  1113.     add.l    #$D73C,a0
  1114.     move.l    d0,(a0)
  1115.     bra.b    L309
  1116. L308
  1117. ;               ctx->Texture.Enabled &= (~TEXTURE_3D);
  1118.     move.l    a2,a0
  1119.     add.l    #$D73C,a0
  1120.     move.l    (a0),d0
  1121.     and.l    #-5,d0
  1122.     move.l    a2,a0
  1123.     add.l    #$D73C,a0
  1124.     move.l    d0,(a0)
  1125. L309
  1126. ;            ctx->NewState |= (NEW_RASTER_OPS | NEW_TEXTU
  1127.     move.l    a2,a0
  1128.     add.l    #$E082,a0
  1129.     move.l    (a0),d0
  1130.     or.l    #6,d0
  1131.     move.l    a2,a0
  1132.     add.l    #$E082,a0
  1133.     move.l    d0,(a0)
  1134. L310
  1135. ;         
  1136.     bra    L337
  1137. L311
  1138. ;         if (state) 
  1139.     tst.b    d0
  1140.     beq.b    L313
  1141. L312
  1142. ;            ctx->Texture.TexGenEnabled |= Q_BIT;
  1143.     move.l    a2,a0
  1144.     add.l    #$D754,a0
  1145.     move.l    (a0),d0
  1146.     or.l    #1,d0
  1147.     move.l    a2,a0
  1148.     add.l    #$D754,a0
  1149.     move.l    d0,(a0)
  1150.     bra.b    L314
  1151. L313
  1152. ;            ctx->Texture.TexGenEnabled &= ~Q_BIT;
  1153.     move.l    a2,a0
  1154.     add.l    #$D754,a0
  1155.     move.l    (a0),d0
  1156.     and.l    #-2,d0
  1157.     move.l    a2,a0
  1158.     add.l    #$D754,a0
  1159.     move.l    d0,(a0)
  1160. L314
  1161. ;         ctx->NewState |= NEW_TEXTURING;
  1162.     move.l    a2,a0
  1163.     add.l    #$E082,a0
  1164.     move.l    (a0),d0
  1165.     or.l    #4,d0
  1166.     move.l    a2,a0
  1167.     add.l    #$E082,a0
  1168.     move.l    d0,(a0)
  1169. ;     
  1170.     bra    L337
  1171. L315
  1172. ;         if (state) 
  1173.     tst.b    d0
  1174.     beq.b    L317
  1175. L316
  1176. ;            ctx->Texture.TexGenEnabled |= R_BIT;
  1177.     move.l    a2,a0
  1178.     add.l    #$D754,a0
  1179.     move.l    (a0),d0
  1180.     or.l    #2,d0
  1181.     move.l    a2,a0
  1182.     add.l    #$D754,a0
  1183.     move.l    d0,(a0)
  1184.     bra.b    L318
  1185. L317
  1186. ;            ctx->Texture.TexGenEnabled &= ~R_BIT;
  1187.     move.l    a2,a0
  1188.     add.l    #$D754,a0
  1189.     move.l    (a0),d0
  1190.     and.l    #-3,d0
  1191.     move.l    a2,a0
  1192.     add.l    #$D754,a0
  1193.     move.l    d0,(a0)
  1194. L318
  1195. ;         ctx->NewState |= NEW_TEXTURING;
  1196.     move.l    a2,a0
  1197.     add.l    #$E082,a0
  1198.     move.l    (a0),d0
  1199.     or.l    #4,d0
  1200.     move.l    a2,a0
  1201.     add.l    #$E082,a0
  1202.     move.l    d0,(a0)
  1203. ;     
  1204.     bra    L337
  1205. L319
  1206. ;     if (state) 
  1207.     tst.b    d0
  1208.     beq    L321
  1209. L320
  1210. ;            ctx->Texture.TexGenEnabled |= S_BIT;
  1211.     move.l    a2,a0
  1212.     add.l    #$D754,a0
  1213.     move.l    (a0),d0
  1214.     or.l    #4,d0
  1215.     move.l    a2,a0
  1216.     add.l    #$D754,a0
  1217.     move.l    d0,(a0)
  1218.     bra.b    L322
  1219. L321
  1220. ;            ctx->Texture.TexGenEnabled &= ~S_BIT;
  1221.     move.l    a2,a0
  1222.     add.l    #$D754,a0
  1223.     move.l    (a0),d0
  1224.     and.l    #-5,d0
  1225.     move.l    a2,a0
  1226.     add.l    #$D754,a0
  1227.     move.l    d0,(a0)
  1228. L322
  1229. ;         ctx->NewState |= NEW_TEXTURING;
  1230.     move.l    a2,a0
  1231.     add.l    #$E082,a0
  1232.     move.l    (a0),d0
  1233.     or.l    #4,d0
  1234.     move.l    a2,a0
  1235.     add.l    #$E082,a0
  1236.     move.l    d0,(a0)
  1237. ;     
  1238.     bra    L337
  1239. L323
  1240. ;         if (state) 
  1241.     tst.b    d0
  1242.     beq    L325
  1243. L324
  1244. ;            ctx->Texture.TexGenEnabled |= T_BIT;
  1245.     move.l    a2,a0
  1246.     add.l    #$D754,a0
  1247.     move.l    (a0),d0
  1248.     or.l    #$8,d0
  1249.     move.l    a2,a0
  1250.     add.l    #$D754,a0
  1251.     move.l    d0,(a0)
  1252.     bra    L326
  1253. L325
  1254. ;            ctx->Texture.TexGenEnabled &= ~T_BIT;
  1255.     move.l    a2,a0
  1256.     add.l    #$D754,a0
  1257.     move.l    (a0),d0
  1258.     and.l    #-$9,d0
  1259.     move.l    a2,a0
  1260.     add.l    #$D754,a0
  1261.     move.l    d0,(a0)
  1262. L326
  1263. ;         ctx->NewState |= NEW_TEXTURING;
  1264.     move.l    a2,a0
  1265.     add.l    #$E082,a0
  1266.     move.l    (a0),d0
  1267.     or.l    #4,d0
  1268.     move.l    a2,a0
  1269.     add.l    #$E082,a0
  1270.     move.l    d0,(a0)
  1271. ;     
  1272.     bra    L337
  1273. L327
  1274. ;         ctx->Array.VertexEnabled = state;
  1275.     move.l    a2,a0
  1276.     add.l    #$DD06,a0
  1277.     move.b    d0,(a0)
  1278. ;         
  1279.     bra    L337
  1280. L328
  1281. ;         ctx->Array.NormalEnabled = state;
  1282.     move.l    a2,a0
  1283.     add.l    #$DD18,a0
  1284.     move.b    d0,(a0)
  1285. ;         
  1286.     bra    L337
  1287. L329
  1288. ;         ctx->Array.ColorEnabled = state;
  1289.     move.l    a2,a0
  1290.     add.l    #$DD2E,a0
  1291.     move.b    d0,(a0)
  1292. ;         
  1293.     bra    L337
  1294. L330
  1295. ;         ctx->Array.IndexEnabled = state;
  1296.     move.l    a2,a0
  1297.     add.l    #$DD40,a0
  1298.     move.b    d0,(a0)
  1299. ;         
  1300.     bra    L337
  1301. L331
  1302. ;         ctx->Array.TexCoordEnabled = state;
  1303.     move.l    a2,a0
  1304.     add.l    #$DD56,a0
  1305.     move.b    d0,(a0)
  1306. ;         
  1307.     bra    L337
  1308. L332
  1309. ;         ctx->Array.EdgeFlagEnabled = state;
  1310.     move.l    a2,a0
  1311.     add.l    #$DD64,a0
  1312.     move.b    d0,(a0)
  1313. ;         
  1314.     bra    L337
  1315. L333
  1316. ;     if (state) 
  1317.     tst.b    d0
  1318.     beq    L335
  1319. L334
  1320. ;        gl_error( ctx, GL_INVALID_ENUM, "glEnable" );
  1321.     move.l    #L179,-(a7)
  1322.     pea    $500.w
  1323.     move.l    a2,-(a7)
  1324.     jsr    _gl_error
  1325.     add.w    #$C,a7
  1326.     bra.b    L337
  1327. L335
  1328. ;        gl_error( ctx, GL_INVALID_ENUM, "glDisable" );
  1329.     move.l    #L180,-(a7)
  1330.     pea    $500.w
  1331.     move.l    a2,-(a7)
  1332.     jsr    _gl_error
  1333.     add.w    #$C,a7
  1334. L336
  1335. ;         
  1336. L337
  1337.     movem.l    (a7)+,d2/a2
  1338.     unlk    a5
  1339.     rts
  1340.  
  1341. L180
  1342.     dc.b    'glDisable',0
  1343. L179
  1344.     dc.b    'glEnable',0
  1345. L181
  1346.     dc.b    'glEnable(GL_DEPTH_TEST) but no depth buffer',0
  1347. L182
  1348.     dc.b    'glEnable(GL_STENCIL_TEST) but no stencil buffer',0
  1349.  
  1350.     SECTION "_gl_Enable:0",CODE
  1351.  
  1352.     rts
  1353.  
  1354. ;void gl_Enable( GLcontext* ctx, GLenum cap )
  1355.     XDEF    _gl_Enable
  1356. _gl_Enable
  1357.     move.l    $8(a7),d0
  1358.     move.l    4(a7),a0
  1359. L370
  1360. ;   gl_enable( ctx, cap, GL_TRUE );
  1361.     move.b    #1,-(a7)
  1362.     move.l    d0,-(a7)
  1363.     move.l    a0,-(a7)
  1364.     jsr    _gl_enable
  1365.     add.w    #$A,a7
  1366.     rts
  1367.  
  1368.     SECTION "_gl_Disable:0",CODE
  1369.  
  1370.  
  1371. ;void gl_Disable( GLcontext* ctx, GLenum cap )
  1372.     XDEF    _gl_Disable
  1373. _gl_Disable
  1374.     move.l    $8(a7),d0
  1375.     move.l    4(a7),a0
  1376. L371
  1377. ;   gl_enable( ctx, cap, GL_FALSE );
  1378.     clr.b    -(a7)
  1379.     move.l    d0,-(a7)
  1380.     move.l    a0,-(a7)
  1381.     jsr    _gl_enable
  1382.     add.w    #$A,a7
  1383.     rts
  1384.  
  1385.     SECTION "_gl_IsEnabled:0",CODE
  1386.  
  1387.  
  1388. ;GLboolean gl_IsEnabled( GLcontext* ctx, GLenum cap )
  1389.     XDEF    _gl_IsEnabled
  1390. _gl_IsEnabled
  1391.     move.l    $8(a7),d0
  1392.     move.l    4(a7),a0
  1393. L373
  1394. ;   switch (cap)
  1395.     move.l    d0,d1
  1396.     cmp.l    #$DB2,d1
  1397.     beq    L400
  1398.     bgt    L452
  1399.     cmp.l    #$C11,d1
  1400.     beq    L414
  1401.     bgt    L453
  1402.     cmp.l    #$B60,d1
  1403.     beq    L382
  1404.     bgt.b    L454
  1405.     cmp.l    #$B42,d1
  1406.     beq    L410
  1407.     bgt.b    L455
  1408.     cmp.l    #$B24,d1
  1409.     beq    L386
  1410.     bgt.b    L456
  1411.     cmp.l    #$B10,d1
  1412.     beq    L408
  1413.     cmp.l    #$B20,d1
  1414.     beq    L385
  1415.     bra    L451
  1416. L456
  1417.     cmp.l    #$B41,d1
  1418.     beq    L409
  1419.     bra    L451
  1420. L455
  1421.     cmp.l    #$B50,d1
  1422.     beq    L383
  1423.     bgt.b    L457
  1424.     cmp.l    #$B44,d1
  1425.     beq    L379
  1426.     bra    L451
  1427. L457
  1428.     cmp.l    #$B57,d1
  1429.     beq    L378
  1430.     bra    L451
  1431. L454
  1432.     cmp.l    #$BD0,d1
  1433.     beq    L381
  1434.     bgt.b    L458
  1435.     cmp.l    #$BA1,d1
  1436.     beq    L407
  1437.     bgt.b    L459
  1438.     cmp.l    #$B71,d1
  1439.     beq    L380
  1440.     cmp.l    #$B90,d1
  1441.     beq    L416
  1442.     bra    L451
  1443. L459
  1444.     cmp.l    #$BC0,d1
  1445.     beq    L374
  1446.     bra    L451
  1447. L458
  1448.     cmp.l    #$BF1,d1
  1449.     beq    L387
  1450.     bgt.b    L460
  1451.     cmp.l    #$BE2,d1
  1452.     beq    L376
  1453.     bra    L451
  1454. L460
  1455.     cmp.l    #$BF2,d1
  1456.     beq    L388
  1457.     bra    L451
  1458. L453
  1459.     cmp.l    #$D93,d1
  1460.     beq    L392
  1461.     bgt.b    L461
  1462.     cmp.l    #$D80,d1
  1463.     beq    L375
  1464.     bgt.b    L462
  1465.     cmp.l    #$C62,d1
  1466.     beq    L433
  1467.     bgt.b    L463
  1468.     cmp.l    #$C60,d1
  1469.     beq    L437
  1470.     cmp.l    #$C61,d1
  1471.     beq    L441
  1472.     bra    L451
  1473. L463
  1474.     cmp.l    #$C63,d1
  1475.     beq    L429
  1476.     bra    L451
  1477. L462
  1478.     cmp.l    #$D91,d1
  1479.     beq    L390
  1480.     bgt.b    L464
  1481.     cmp.l    #$D90,d1
  1482.     beq    L389
  1483.     bra    L451
  1484. L464
  1485.     bgt    L391
  1486. L461
  1487.     cmp.l    #$D97,d1
  1488.     beq    L396
  1489.     bgt.b    L465
  1490.     cmp.l    #$D95,d1
  1491.     beq    L394
  1492.     bgt.b    L466
  1493.     blt    L393
  1494. L466
  1495.     bgt    L395
  1496. L465
  1497.     cmp.l    #$DB0,d1
  1498.     beq    L398
  1499.     bgt.b    L467
  1500.     cmp.l    #$D98,d1
  1501.     beq    L397
  1502.     bra    L451
  1503. L467
  1504.     bgt    L399
  1505. L452
  1506.     cmp.l    #$4000,d1
  1507.     beq    L384
  1508.     bgt    L468
  1509.     cmp.l    #$2A01,d1
  1510.     beq    L411
  1511.     bgt.b    L469
  1512.     cmp.l    #$DB7,d1
  1513.     beq    L405
  1514.     bgt.b    L470
  1515.     cmp.l    #$DB5,d1
  1516.     beq    L403
  1517.     bgt.b    L471
  1518.     cmp.l    #$DB3,d1
  1519.     beq    L401
  1520.     cmp.l    #$DB4,d1
  1521.     beq    L402
  1522.     bra    L451
  1523. L471
  1524.     bgt    L404
  1525. L470
  1526.     cmp.l    #$DE0,d1
  1527.     beq    L417
  1528.     bgt.b    L472
  1529.     cmp.l    #$DB8,d1
  1530.     beq    L406
  1531.     bra    L451
  1532. L472
  1533.     cmp.l    #$DE1,d1
  1534.     beq    L421
  1535.     bra    L451
  1536. L469
  1537.     cmp.l    #$3002,d1
  1538.     beq    L377
  1539.     bgt.b    L473
  1540.     cmp.l    #$3000,d1
  1541.     beq    L377
  1542.     bgt.b    L474
  1543.     cmp.l    #$2A02,d1
  1544.     beq    L412
  1545.     bra    L451
  1546. L474
  1547.     bgt    L377
  1548. L473
  1549.     cmp.l    #$3004,d1
  1550.     beq    L377
  1551.     bgt.b    L475
  1552.     blt    L377
  1553. L475
  1554.     cmp.l    #$3005,d1
  1555.     beq    L377
  1556.     bra    L451
  1557. L468
  1558.     cmp.l    #$806F,d1
  1559.     beq    L425
  1560.     bgt.b    L476
  1561.     cmp.l    #$4005,d1
  1562.     beq    L384
  1563.     bgt.b    L477
  1564.     cmp.l    #$4003,d1
  1565.     beq    L384
  1566.     bgt.b    L478
  1567.     cmp.l    #$4001,d1
  1568.     beq    L384
  1569.     cmp.l    #$4002,d1
  1570.     beq    L384
  1571.     bra    L451
  1572. L478
  1573.     bgt    L384
  1574. L477
  1575.     cmp.l    #$4007,d1
  1576.     beq    L384
  1577.     bgt.b    L479
  1578.     blt    L384
  1579. L479
  1580.     cmp.l    #$8037,d1
  1581.     beq    L413
  1582.     bra    L451
  1583. L476
  1584.     cmp.l    #$8077,d1
  1585.     beq    L448
  1586.     bgt.b    L480
  1587.     cmp.l    #$8075,d1
  1588.     beq    L446
  1589.     bgt.b    L481
  1590.     cmp.l    #$8074,d1
  1591.     beq    L445
  1592.     bra    L451
  1593. L481
  1594.     bgt    L447
  1595. L480
  1596.     cmp.l    #$8079,d1
  1597.     beq    L450
  1598.     bgt.b    L482
  1599.     blt    L449
  1600. L482
  1601.     cmp.l    #$81FB,d1
  1602.     beq    L415
  1603.     bra    L451
  1604. ;      
  1605. L374
  1606.     add.w    #$1E74,a0
  1607.     move.b    $22(a0),d0
  1608.     rts
  1609. L375
  1610.     add.w    #$1F2E,a0
  1611.     move.b    $12(a0),d0
  1612.     rts
  1613. L376
  1614.     add.w    #$1E74,a0
  1615.     move.b    $2D(a0),d0
  1616.     rts
  1617. L377
  1618.     add.l    #$DC76,a0
  1619.     lea    (a0),a0
  1620.     sub.w    #$3000,a0
  1621.     add.l    d0,a0
  1622.     move.b    (a0),d0
  1623.     rts
  1624. L378
  1625.     add.w    #$1FA0,a0
  1626.     add.l    #$8E14,a0
  1627.     move.b    (a0),d0
  1628.     rts
  1629. L379
  1630.     add.l    #$D670,a0
  1631.     lea    (a0),a0
  1632.     move.b    $D(a0),d0
  1633.     rts
  1634. L380
  1635.     add.w    #$1F24,a0
  1636.     move.b    $8(a0),d0
  1637.     rts
  1638. L381
  1639.     add.w    #$1E74,a0
  1640.     move.b    $51(a0),d0
  1641.     rts
  1642. L382
  1643.     add.w    #$1F66,a0
  1644.     move.b    (a0),d0
  1645.     rts
  1646. L383
  1647.     add.w    #$1FA0,a0
  1648.     add.l    #$8E02,a0
  1649.     move.b    (a0),d0
  1650.     rts
  1651. L384
  1652.     add.w    #$1FA0,a0
  1653.     sub.l    #$4388000,a0
  1654.     lea    (a0),a0
  1655.     muls.l    #$10E2,d0
  1656.     add.l    d0,a0
  1657.     move.b    $68(a0),d0
  1658.     rts
  1659. L385
  1660.     add.l    #$ADDC,a0
  1661.     lea    (a0),a0
  1662.     move.b    (a0),d0
  1663.     rts
  1664. L386
  1665.     add.l    #$ADDC,a0
  1666.     lea    (a0),a0
  1667.     move.b    1(a0),d0
  1668.     rts
  1669. L387
  1670.     add.w    #$1E74,a0
  1671.     move.b    $4E(a0),d0
  1672.     rts
  1673. L388
  1674.     add.w    #$1E74,a0
  1675.     move.b    $4F(a0),d0
  1676.     rts
  1677. L389
  1678.     add.w    #$1F2E,a0
  1679.     move.b    (a0),d0
  1680.     rts
  1681. L390
  1682.     add.w    #$1F2E,a0
  1683.     move.b    1(a0),d0
  1684.     rts
  1685. L391
  1686.     add.w    #$1F2E,a0
  1687.     move.b    2(a0),d0
  1688.     rts
  1689. L392
  1690.     add.w    #$1F2E,a0
  1691.     move.b    3(a0),d0
  1692.     rts
  1693. L393
  1694.     add.w    #$1F2E,a0
  1695.     move.b    4(a0),d0
  1696.     rts
  1697. L394
  1698.     add.w    #$1F2E,a0
  1699.     move.b    5(a0),d0
  1700.     rts
  1701. L395
  1702.     add.w    #$1F2E,a0
  1703.     move.b    6(a0),d0
  1704.     rts
  1705. L396
  1706.     add.w    #$1F2E,a0
  1707.     move.b    7(a0),d0
  1708.     rts
  1709. L397
  1710.     add.w    #$1F2E,a0
  1711.     move.b    $8(a0),d0
  1712.     rts
  1713. L398
  1714.     add.w    #$1F2E,a0
  1715.     move.b    $9(a0),d0
  1716.     rts
  1717. L399
  1718.     add.w    #$1F2E,a0
  1719.     move.b    $A(a0),d0
  1720.     rts
  1721. L400
  1722.     add.w    #$1F2E,a0
  1723.     move.b    $B(a0),d0
  1724.     rts
  1725. L401
  1726.     add.w    #$1F2E,a0
  1727.     move.b    $C(a0),d0
  1728.     rts
  1729. L402
  1730.     add.w    #$1F2E,a0
  1731.     move.b    $D(a0),d0
  1732.     rts
  1733. L403
  1734.     add.w    #$1F2E,a0
  1735.     move.b    $E(a0),d0
  1736.     rts
  1737. L404
  1738.     add.w    #$1F2E,a0
  1739.     move.b    $F(a0),d0
  1740.     rts
  1741. L405
  1742.     add.w    #$1F2E,a0
  1743.     move.b    $10(a0),d0
  1744.     rts
  1745. L406
  1746.     add.w    #$1F2E,a0
  1747.     move.b    $11(a0),d0
  1748.     rts
  1749. L407
  1750.     add.l    #$DC12,a0
  1751.     lea    (a0),a0
  1752.     move.b    $6B(a0),d0
  1753.     rts
  1754. L408
  1755.     add.l    #$D652,a0
  1756.     lea    (a0),a0
  1757.     move.b    (a0),d0
  1758.     rts
  1759. L409
  1760.     add.l    #$D670,a0
  1761.     lea    (a0),a0
  1762.     move.b    $16(a0),d0
  1763.     rts
  1764. L410
  1765.     add.l    #$D670,a0
  1766.     lea    (a0),a0
  1767.     move.b    $17(a0),d0
  1768.     rts
  1769. L411
  1770.     add.l    #$D670,a0
  1771.     lea    (a0),a0
  1772.     move.b    $20(a0),d0
  1773.     rts
  1774. L412
  1775.     add.l    #$D670,a0
  1776.     lea    (a0),a0
  1777.     move.b    $21(a0),d0
  1778.     rts
  1779. L413
  1780.     add.l    #$D670,a0
  1781.     lea    (a0),a0
  1782.     move.b    $22(a0),d0
  1783.     rts
  1784. L414
  1785.     add.l    #$D714,a0
  1786.     lea    (a0),a0
  1787.     move.b    (a0),d0
  1788.     rts
  1789. L415
  1790.     add.l    #$D73C,a0
  1791.     lea    (a0),a0
  1792.     move.b    $C8(a0),d0
  1793.     rts
  1794. L416
  1795.     add.l    #$D726,a0
  1796.     lea    (a0),a0
  1797.     move.b    (a0),d0
  1798.     rts
  1799. L417
  1800.     add.l    #$D73C,a0
  1801.     lea    (a0),a0
  1802.     move.l    (a0),d0
  1803.     and.l    #1,d0
  1804.     beq.b    L419
  1805. L418
  1806.     moveq    #1,d0
  1807.     bra.b    L420
  1808. L419
  1809.     moveq    #0,d0
  1810. L420
  1811.     rts
  1812. L421
  1813.     add.l    #$D73C,a0
  1814.     lea    (a0),a0
  1815.     move.l    (a0),d0
  1816.     and.l    #2,d0
  1817.     beq.b    L423
  1818. L422
  1819.     moveq    #1,d0
  1820.     bra.b    L424
  1821. L423
  1822.     moveq    #0,d0
  1823. L424
  1824.     rts
  1825. L425
  1826.     add.l    #$D73C,a0
  1827.     lea    (a0),a0
  1828.     move.l    (a0),d0
  1829.     and.l    #4,d0
  1830.     beq.b    L427
  1831. L426
  1832.     moveq    #1,d0
  1833.     bra.b    L428
  1834. L427
  1835.     moveq    #0,d0
  1836. L428
  1837.     rts
  1838. L429
  1839.     add.l    #$D73C,a0
  1840.     lea    (a0),a0
  1841.     move.l    $18(a0),d0
  1842.     and.l    #1,d0
  1843.     beq.b    L431
  1844. L430
  1845.     moveq    #1,d0
  1846.     bra.b    L432
  1847. L431
  1848.     moveq    #0,d0
  1849. L432
  1850.     rts
  1851. L433
  1852.     add.l    #$D73C,a0
  1853.     lea    (a0),a0
  1854.     move.l    $18(a0),d0
  1855.     and.l    #2,d0
  1856.     beq.b    L435
  1857. L434
  1858.     moveq    #1,d0
  1859.     bra.b    L436
  1860. L435
  1861.     moveq    #0,d0
  1862. L436
  1863.     rts
  1864. L437
  1865.     add.l    #$D73C,a0
  1866.     lea    (a0),a0
  1867.     move.l    $18(a0),d0
  1868.     and.l    #4,d0
  1869.     beq.b    L439
  1870. L438
  1871.     moveq    #1,d0
  1872.     bra.b    L440
  1873. L439
  1874.     moveq    #0,d0
  1875. L440
  1876.     rts
  1877. L441
  1878.     add.l    #$D73C,a0
  1879.     lea    (a0),a0
  1880.     move.l    $18(a0),d0
  1881.     and.l    #$8,d0
  1882.     beq.b    L443
  1883. L442
  1884.     moveq    #1,d0
  1885.     bra.b    L444
  1886. L443
  1887.     moveq    #0,d0
  1888. L444
  1889.     rts
  1890. L445
  1891.     add.l    #$DCF2,a0
  1892.     lea    (a0),a0
  1893.     move.b    $14(a0),d0
  1894.     rts
  1895. L446
  1896.     add.l    #$DCF2,a0
  1897.     lea    (a0),a0
  1898.     move.b    $26(a0),d0
  1899.     rts
  1900. L447
  1901.     add.l    #$DCF2,a0
  1902.     lea    (a0),a0
  1903.     move.b    $3C(a0),d0
  1904.     rts
  1905. L448
  1906.     add.l    #$DCF2,a0
  1907.     lea    (a0),a0
  1908.     move.b    $4E(a0),d0
  1909.     rts
  1910. L449
  1911.     add.l    #$DCF2,a0
  1912.     lea    (a0),a0
  1913.     move.b    $64(a0),d0
  1914.     rts
  1915. L450
  1916.     add.l    #$DCF2,a0
  1917.     lea    (a0),a0
  1918.     move.b    $72(a0),d0
  1919.     rts
  1920. L451
  1921. ;     gl_error( ctx, GL_INVALID_ENUM, "glIsEnabled" );
  1922.     move.l    #L372,-(a7)
  1923.     pea    $500.w
  1924.     move.l    a0,-(a7)
  1925.     jsr    _gl_error
  1926.     add.w    #$C,a7
  1927.     moveq    #0,d0
  1928.     rts
  1929.  
  1930. L372
  1931.     dc.b    'glIsEnabled',0
  1932.  
  1933.     SECTION "_gl_client_state:0",CODE
  1934.  
  1935.  
  1936. ;void gl_client_state( GLcontext *ctx, GLenum cap, GLboolean state )
  1937.     XDEF    _gl_client_state
  1938. _gl_client_state
  1939.     move.b    $C(a7),d0
  1940.     move.l    $8(a7),d1
  1941.     move.l    4(a7),a0
  1942. L484
  1943. ;   switch (cap)
  1944.     sub.l    #$8074,d1
  1945.     cmp.l    #5,d1
  1946.     bhi.b    L491
  1947.     move.l    L493(pc,d1.l*4),a1
  1948.     jmp    (a1)
  1949. L493
  1950.     dc.l    L485
  1951.     dc.l    L486
  1952.     dc.l    L487
  1953.     dc.l    L488
  1954.     dc.l    L489
  1955.     dc.l    L490
  1956. ;      
  1957. L485
  1958. ;         ctx->Array.VertexEnabled = state;
  1959.     add.l    #$DD06,a0
  1960.     move.b    d0,(a0)
  1961. ;         
  1962.     bra.b    L492
  1963. L486
  1964. ;         ctx->Array.NormalEnabled = state;
  1965.     add.l    #$DD18,a0
  1966.     move.b    d0,(a0)
  1967. ;         
  1968.     bra.b    L492
  1969. L487
  1970. ;         ctx->Array.ColorEnabled = state;
  1971.     add.l    #$DD2E,a0
  1972.     move.b    d0,(a0)
  1973. ;         
  1974.     bra.b    L492
  1975. L488
  1976. ;         ctx->Array.IndexEnabled = state;
  1977.     add.l    #$DD40,a0
  1978.     move.b    d0,(a0)
  1979. ;         
  1980.     bra.b    L492
  1981. L489
  1982. ;         ctx->Array.TexCoordEnabled = state;
  1983.     add.l    #$DD56,a0
  1984.     move.b    d0,(a0)
  1985. ;         
  1986.     bra.b    L492
  1987. L490
  1988. ;         ctx->Array.EdgeFlagEnabled = state;
  1989.     add.l    #$DD64,a0
  1990.     move.b    d0,(a0)
  1991. ;         
  1992.     bra.b    L492
  1993. L491
  1994. ;         gl_error( ctx, GL_INVALID_ENUM, "glEnable/DisableC
  1995.     move.l    #L483,-(a7)
  1996.     pea    $500.w
  1997.     move.l    a0,-(a7)
  1998.     jsr    _gl_error
  1999.     add.w    #$C,a7
  2000. L492
  2001.     rts
  2002.  
  2003. L483
  2004.     dc.b    'glEnable/DisableClientState',0
  2005.  
  2006.     SECTION "_gl_EnableClientState:0",CODE
  2007.  
  2008.  
  2009. ;void gl_EnableClientState( GLcontext *ctx, GLenum cap )
  2010.     XDEF    _gl_EnableClientState
  2011. _gl_EnableClientState
  2012.     move.l    $8(a7),d0
  2013.     move.l    4(a7),a0
  2014. L494
  2015. ;   gl_client_state( ctx, cap, GL_TRUE );
  2016.     move.b    #1,-(a7)
  2017.     move.l    d0,-(a7)
  2018.     move.l    a0,-(a7)
  2019.     jsr    _gl_client_state
  2020.     add.w    #$A,a7
  2021.     rts
  2022.  
  2023.     SECTION "_gl_DisableClientState:0",CODE
  2024.  
  2025.  
  2026. ;void gl_DisableClientState( GLcontext *ctx, GLenum cap )
  2027.     XDEF    _gl_DisableClientState
  2028. _gl_DisableClientState
  2029.     move.l    $8(a7),d0
  2030.     move.l    4(a7),a0
  2031. L495
  2032. ;   gl_client_state( ctx, cap, GL_FALSE );
  2033.     clr.b    -(a7)
  2034.     move.l    d0,-(a7)
  2035.     move.l    a0,-(a7)
  2036.     jsr    _gl_client_state
  2037.     add.w    #$A,a7
  2038.     rts
  2039.  
  2040.     END
  2041.