home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-01-31 | 35.8 KB | 1,953 lines |
-
- ; Storm C Compiler
- ; TEMP:Mesa_2_5/src/attrib.c
- mc68030
- mc68881
- XREF _gl_DrawBuffer
- XREF _gl_error
- XREF _gl_problem
- XREF _memcpy
- XREF _malloc
- XREF _free
- XREF _CC
-
- SECTION "_new_attrib_node:0",CODE
-
-
- ;static struct gl_attrib_node *new_attrib_node( GLbitfield kind )
- _new_attrib_node
- move.l d2,-(a7)
- move.l $8(a7),d2
- L73
- ; an = (struct gl_attrib_node *) malloc( sizeof(struct gl_attrib
- pea $C.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a0
- ; if (an)
- cmp.w #0,a0
- beq.b L75
- L74
- ; an->kind = kind;
- move.l d2,(a0)
- L75
- move.l a0,d0
- move.l (a7)+,d2
- rts
-
- SECTION "_gl_PushAttrib:0",CODE
-
- rts
-
- ;void gl_PushAttrib( GLcontext* ctx, GLbitfield mask )
- XDEF _gl_PushAttrib
- _gl_PushAttrib
- L128 EQU -$40
- link a5,#L128
- movem.l d2/d3/a2,-(a7)
- move.l $C(a5),d2
- L77
- ; if (INSIDE_BEGIN_END(ctx))
- move.l $8(a5),a0
- add.l #$E08A,a0
- move.l (a0),d0
- cmp.l #$1A00,d0
- beq.b L79
- L78
- ; gl_error( ctx, GL_INVALID_OPERATION, "glPushAttrib" );
- move.l #L76,-(a7)
- pea $502.w
- move.l $8(a5),-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/d3/a2
- unlk a5
- rts
- L79
- ; if (ctx->AttribStackDepth>=MAX_ATTRIB_STACK_DEPTH)
- move.l $8(a5),a0
- move.l $1E20(a0),d0
- cmp.l #$10,d0
- blo.b L81
- L80
- ; gl_error( ctx, GL_STACK_OVERFLOW, "glPushAttrib" );
- move.l #L76,-(a7)
- pea $503.w
- move.l $8(a5),-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/d3/a2
- unlk a5
- rts
- L81
- ; head = NULL;
- clr.l -$8(a5)
- ; if (mask & GL_ACCUM_BUFFER_BIT)
- move.l d2,d0
- and.l #$200,d0
- beq.b L83
- L82
- ; attr = MALLOC_STRUCT( gl_accum_attrib );
- pea $10.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ; attr, &ctx->Accu
- pea $10.w
- move.l $8(a5),a1
- lea $1E64(a1),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_ACCUM_BUFFER_BIT );
- pea $200.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L83
- ; if (mask & GL_COLOR_BUFFER_BIT)
- move.l d2,d0
- and.l #$4000,d0
- beq.b L85
- L84
- ; attr = MALLOC_STRUCT( gl_colorbuffer_attrib );
- pea $52.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ; &ctx->Color, siz
- pea $52.w
- move.l $8(a5),a1
- lea $1E74(a1),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_COLOR_BUFFER_BIT );
- pea $4000.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L85
- ; if (mask & GL_CURRENT_BIT)
- move.l d2,d0
- and.l #1,d0
- beq.b L87
- L86
- ; attr = MALLOC_STRUCT( gl_current_attrib );
- pea $5E.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ;r, &ctx->Current,
- pea $5E.w
- move.l $8(a5),a1
- lea $1EC6(a1),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_CURRENT_BIT );
- pea 1.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L87
- ; if (mask & GL_DEPTH_BUFFER_BIT)
- move.l d2,d0
- and.l #$100,d0
- beq.b L89
- L88
- ; attr = MALLOC_STRUCT( gl_depthbuffer_attrib );
- pea $A.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ; &ctx->Depth, siz
- pea $A.w
- move.l $8(a5),a1
- lea $1F24(a1),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_DEPTH_BUFFER_BIT );
- pea $100.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L89
- ; if (mask & GL_ENABLE_BIT)
- move.l d2,d0
- and.l #$2000,d0
- beq L97
- L90
- ; attr = MALLOC_STRUCT( gl_enable_attrib );
- pea $3E.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ; attr->AlphaTest = ctx->Color.AlphaEnabled;
- move.l $8(a5),a1
- lea $1E74(a1),a0
- move.b $22(a0),d0
- move.b d0,(a2)
- ; attr->AutoNormal = ctx->Eval.AutoNormal;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b $12(a0),d0
- move.b d0,1(a2)
- ; attr->Blend = ctx->Color.BlendEnabled;
- move.l $8(a5),a1
- lea $1E74(a1),a0
- move.b $2D(a0),d0
- move.b d0,2(a2)
- ; for (i=0;
- moveq #0,d0
- bra.b L92
- L91
- ; attr->ClipPlane[i] = ctx->Transform.ClipEnabled[i];
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$DC76,a0
- lea (a0),a0
- add.l d0,a0
- move.b (a0),d1
- lea 3(a2),a0
- add.l d0,a0
- move.b d1,(a0)
- addq.l #1,d0
- L92
- cmp.l #6,d0
- blo.b L91
- L93
- ; attr->ColorMaterial = ctx->Light.ColorMaterialEnabled;
- move.l $8(a5),a1
- lea $1FA0(a1),a0
- add.l #$8E14,a0
- move.b (a0),d0
- move.b d0,$9(a2)
- ; attr->CullFace = ctx->Polygon.CullFlag;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D670,a0
- lea (a0),a0
- move.b $D(a0),d0
- move.b d0,$A(a2)
- ; attr->DepthTest = ctx->Depth.Test;
- move.l $8(a5),a1
- lea $1F24(a1),a0
- move.b $8(a0),d0
- move.b d0,$B(a2)
- ; attr->Dither = ctx->Color.DitherFlag;
- move.l $8(a5),a1
- lea $1E74(a1),a0
- move.b $51(a0),d0
- move.b d0,$C(a2)
- ; attr->Fog = ctx->Fog.Enabled;
- move.l $8(a5),a1
- lea $1F66(a1),a0
- move.b (a0),d0
- move.b d0,$D(a2)
- ; for (i=0;
- moveq #0,d0
- bra.b L95
- L94
- ; attr->Light[i] = ctx->Light.Light[i].Enabled;
- move.l $8(a5),a1
- lea $1FA0(a1),a0
- move.l d0,d1
- muls.l #$10E2,d1
- add.l d1,a0
- move.b $68(a0),d1
- lea $E(a2),a0
- add.l d0,a0
- move.b d1,(a0)
- addq.l #1,d0
- L95
- cmp.l #$8,d0
- blo.b L94
- L96
- ; attr->Lighting = ctx->Light.Enabled;
- move.l $8(a5),a1
- lea $1FA0(a1),a0
- add.l #$8E02,a0
- move.b (a0),d0
- move.b d0,$16(a2)
- ; attr->LineSmooth = ctx->Line.SmoothFlag;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$ADDC,a0
- lea (a0),a0
- move.b (a0),d0
- move.b d0,$17(a2)
- ; attr->LineStipple = ctx->Line.StippleFlag;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$ADDC,a0
- lea (a0),a0
- move.b 1(a0),d0
- move.b d0,$18(a2)
- ; attr->IndexLogicOp = ctx->Color.IndexLogicOpEnabled;
- move.l $8(a5),a1
- lea $1E74(a1),a0
- move.b $4E(a0),d0
- move.b d0,$19(a2)
- ; attr->ColorLogicOp = ctx->Color.ColorLogicOpEnabled;
- move.l $8(a5),a1
- lea $1E74(a1),a0
- move.b $4F(a0),d0
- move.b d0,$1A(a2)
- ; attr->Map1Color4 = ctx->Eval.Map1Color4;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b (a0),d0
- move.b d0,$1B(a2)
- ; attr->Map1Index = ctx->Eval.Map1Index;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b 1(a0),d0
- move.b d0,$1C(a2)
- ; attr->Map1Normal = ctx->Eval.Map1Normal;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b 2(a0),d0
- move.b d0,$1D(a2)
- ; attr->Map1TextureCoord1 = ctx->Eval.Map1TextureCoord1;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b 3(a0),d0
- move.b d0,$1E(a2)
- ; attr->Map1TextureCoord2 = ctx->Eval.Map1TextureCoord2;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b 4(a0),d0
- move.b d0,$1F(a2)
- ; attr->Map1TextureCoord3 = ctx->Eval.Map1TextureCoord3;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b 5(a0),d0
- move.b d0,$20(a2)
- ; attr->Map1TextureCoord4 = ctx->Eval.Map1TextureCoord4;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b 6(a0),d0
- move.b d0,$21(a2)
- ; attr->Map1Vertex3 = ctx->Eval.Map1Vertex3;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b 7(a0),d0
- move.b d0,$22(a2)
- ; attr->Map1Vertex4 = ctx->Eval.Map1Vertex4;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b $8(a0),d0
- move.b d0,$23(a2)
- ; attr->Map2Color4 = ctx->Eval.Map2Color4;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b $9(a0),d0
- move.b d0,$24(a2)
- ; attr->Map2Index = ctx->Eval.Map2Index;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b $A(a0),d0
- move.b d0,$25(a2)
- ; attr->Map2Normal = ctx->Eval.Map2Normal;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b $B(a0),d0
- move.b d0,$26(a2)
- ; attr->Map2TextureCoord1 = ctx->Eval.Map2TextureCoord1;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b $C(a0),d0
- move.b d0,$27(a2)
- ; attr->Map2TextureCoord2 = ctx->Eval.Map2TextureCoord2;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b $D(a0),d0
- move.b d0,$28(a2)
- ; attr->Map2TextureCoord3 = ctx->Eval.Map2TextureCoord3;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b $E(a0),d0
- move.b d0,$29(a2)
- ; attr->Map2TextureCoord4 = ctx->Eval.Map2TextureCoord4;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b $F(a0),d0
- move.b d0,$2A(a2)
- ; attr->Map2Vertex3 = ctx->Eval.Map2Vertex3;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b $10(a0),d0
- move.b d0,$2B(a2)
- ; attr->Map2Vertex4 = ctx->Eval.Map2Vertex4;
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.b $11(a0),d0
- move.b d0,$2C(a2)
- ; attr->Normalize = ctx->Transform.Normalize;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$DC12,a0
- lea (a0),a0
- move.b $6B(a0),d0
- move.b d0,$2D(a2)
- ; attr->PointSmooth = ctx->Point.SmoothFlag;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D652,a0
- lea (a0),a0
- move.b (a0),d0
- move.b d0,$2E(a2)
- ; attr->PolygonOffsetPoint = ctx->Polygon.OffsetPoint;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D670,a0
- lea (a0),a0
- move.b $20(a0),d0
- move.b d0,$2F(a2)
- ; attr->PolygonOffsetLine = ctx->Polygon.OffsetLine;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D670,a0
- lea (a0),a0
- move.b $21(a0),d0
- move.b d0,$30(a2)
- ; attr->PolygonOffsetFill = ctx->Polygon.OffsetFill;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D670,a0
- lea (a0),a0
- move.b $22(a0),d0
- move.b d0,$31(a2)
- ; attr->PolygonSmooth = ctx->Polygon.SmoothFlag;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D670,a0
- lea (a0),a0
- move.b $16(a0),d0
- move.b d0,$32(a2)
- ; attr->PolygonStipple = ctx->Polygon.StippleFlag;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D670,a0
- lea (a0),a0
- move.b $17(a0),d0
- move.b d0,$33(a2)
- ; attr->Scissor = ctx->Scissor.Enabled;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D714,a0
- lea (a0),a0
- move.b (a0),d0
- move.b d0,$34(a2)
- ; attr->Stencil = ctx->Stencil.Enabled;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D726,a0
- lea (a0),a0
- move.b (a0),d0
- move.b d0,$35(a2)
- ; attr->Texture = ctx->Texture.Enabled;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D73C,a0
- lea (a0),a0
- move.l (a0),d0
- move.l d0,$36(a2)
- ; attr->TexGen = ctx->Texture.TexGenEnabled;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D73C,a0
- lea (a0),a0
- move.l $18(a0),d0
- move.l d0,$3A(a2)
- ; newnode = new_attrib_node( GL_ENABLE_BIT );
- pea $2000.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L97
- ; if (mask & GL_EVAL_BIT)
- move.l d2,d0
- and.l #$10000,d0
- beq.b L99
- L98
- ; attr = MALLOC_STRUCT( gl_eval_attrib );
- pea $38.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ;Y( attr, &ctx->Ev
- pea $38.w
- move.l $8(a5),a1
- lea $1F2E(a1),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_EVAL_BIT );
- move.l #$10000,-(a7)
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L99
- ; if (mask & GL_FOG_BIT)
- move.l d2,d0
- and.l #$80,d0
- beq.b L101
- L100
- ; attr = MALLOC_STRUCT( gl_fog_attrib );
- pea $26.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ;CPY( attr, &ctx->
- pea $26.w
- move.l $8(a5),a1
- lea $1F66(a1),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_FOG_BIT );
- pea $80.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L101
- ; if (mask & GL_HINT_BIT)
- move.l d2,d0
- and.l #$8000,d0
- beq.b L103
- L102
- ; attr = MALLOC_STRUCT( gl_hint_attrib );
- pea $14.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ;Y( attr, &ctx->Hi
- pea $14.w
- move.l $8(a5),a1
- lea $1F8C(a1),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_HINT_BIT );
- move.l #$8000,-(a7)
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L103
- ; if (mask & GL_LIGHTING_BIT)
- move.l d2,d0
- and.l #$40,d0
- beq.b L105
- L104
- ; attr = MALLOC_STRUCT( gl_light_attrib );
- move.l #$8E3C,-(a7)
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ; attr, &ctx->Ligh
- move.l #$8E3C,-(a7)
- move.l $8(a5),a1
- lea $1FA0(a1),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_LIGHTING_BIT );
- pea $40.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L105
- ; if (mask & GL_LINE_BIT)
- move.l d2,d0
- and.l #4,d0
- beq.b L107
- L106
- ; attr = MALLOC_STRUCT( gl_line_attrib );
- pea $C.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ;Y( attr, &ctx->Li
- pea $C.w
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$ADDC,a0
- lea (a0),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_LINE_BIT );
- pea 4.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L107
- ; if (mask & GL_LIST_BIT)
- move.l d2,d0
- and.l #$20000,d0
- beq.b L109
- L108
- ; attr = MALLOC_STRUCT( gl_list_attrib );
- pea 4.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ;Y( attr, &ctx->Li
- pea 4.w
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$ADE8,a0
- lea (a0),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_LIST_BIT );
- move.l #$20000,-(a7)
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L109
- ; if (mask & GL_PIXEL_MODE_BIT)
- move.l d2,d0
- and.l #$20,d0
- beq.b L111
- L110
- ; attr = MALLOC_STRUCT( gl_pixel_attrib );
- pea $2866.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ; attr, &ctx->Pixe
- pea $2866.w
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$ADEC,a0
- lea (a0),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_PIXEL_MODE_BIT );
- pea $20.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L111
- ; if (mask & GL_POINT_BIT)
- move.l d2,d0
- and.l #2,d0
- beq.b L113
- L112
- ; attr = MALLOC_STRUCT( gl_point_attrib );
- pea $1E.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ; attr, &ctx->Poin
- pea $1E.w
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D652,a0
- lea (a0),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_POINT_BIT );
- pea 2.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L113
- ; if (mask & GL_POLYGON_BIT)
- move.l d2,d0
- and.l #$8,d0
- beq.b L115
- L114
- ; attr = MALLOC_STRUCT( gl_polygon_attrib );
- pea $24.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ;r, &ctx->Polygon,
- pea $24.w
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D670,a0
- lea (a0),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_POLYGON_BIT );
- pea $8.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L115
- ; if (mask & GL_POLYGON_STIPPLE_BIT)
- move.l d2,d0
- and.l #$10,d0
- beq.b L117
- L116
- ; stipple = (GLuint *) malloc( 32*sizeof(GLuint) );
- pea $80.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ;Y( stipple, ctx->
- pea $80.w
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D694,a0
- lea (a0),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_POLYGON_STIPPLE_BIT );
- pea $10.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = stipple;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L117
- ; if (mask & GL_SCISSOR_BIT)
- move.l d2,d0
- and.l #$80000,d0
- beq.b L119
- L118
- ; attr = MALLOC_STRUCT( gl_scissor_attrib );
- pea $12.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ;r, &ctx->Scissor,
- pea $12.w
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D714,a0
- lea (a0),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_SCISSOR_BIT );
- move.l #$80000,-(a7)
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L119
- ; if (mask & GL_STENCIL_BUFFER_BIT)
- move.l d2,d0
- and.l #$400,d0
- beq.b L121
- L120
- ; attr = MALLOC_STRUCT( gl_stencil_attrib );
- pea $16.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ;r, &ctx->Stencil,
- pea $16.w
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D726,a0
- lea (a0),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_STENCIL_BUFFER_BIT );
- pea $400.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L121
- ; if (mask & GL_TEXTURE_BIT)
- move.l d2,d0
- and.l #$40000,d0
- beq.b L123
- L122
- ; attr = MALLOC_STRUCT( gl_texture_attrib );
- pea $4D6.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ;r, &ctx->Texture,
- pea $4D6.w
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$D73C,a0
- lea (a0),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_TEXTURE_BIT );
- move.l #$40000,-(a7)
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L123
- ; if (mask & GL_TRANSFORM_BIT)
- move.l d2,d0
- and.l #$1000,d0
- beq.b L125
- L124
- ; attr = MALLOC_STRUCT( gl_transform_attrib );
- pea $6C.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ;ctx->Transform, s
- pea $6C.w
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$DC12,a0
- lea (a0),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_TRANSFORM_BIT );
- pea $1000.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L125
- ; if (mask & GL_VIEWPORT_BIT)
- and.l #$800,d2
- beq.b L127
- L126
- ; attr = MALLOC_STRUCT( gl_viewport_attrib );
- pea $30.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ; &ctx->Viewport,
- pea $30.w
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$DC7E,a0
- lea (a0),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_VIEWPORT_BIT );
- pea $800.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L127
- ; ctx->AttribStack[ctx->AttribStackDepth] = head;
- move.l $8(a5),a1
- lea $1E24(a1),a0
- move.l $8(a5),a1
- move.l $1E20(a1),d0
- lea 0(a0,d0.l*4),a0
- move.l -$8(a5),(a0)
- ; ctx->AttribStackDepth++;
- move.l $8(a5),a0
- move.l $1E20(a0),d0
- addq.l #1,d0
- move.l $8(a5),a0
- move.l d0,$1E20(a0)
- movem.l (a7)+,d2/d3/a2
- unlk a5
- rts
-
- L76
- dc.b 'glPushAttrib',0
-
- SECTION "_gl_PopAttrib:0",CODE
-
-
- ;void gl_PopAttrib( GLcontext* ctx )
- XDEF _gl_PopAttrib
- _gl_PopAttrib
- L170 EQU -$7C
- link a5,#L170
- movem.l d2/a2,-(a7)
- move.l $8(a5),a2
- L131
- ; if (INSIDE_BEGIN_END(ctx))
- move.l a2,a0
- add.l #$E08A,a0
- move.l (a0),d0
- cmp.l #$1A00,d0
- beq.b L133
- L132
- ; gl_error( ctx, GL_INVALID_OPERATION, "glPopAttrib" );
- move.l #L129,-(a7)
- pea $502.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/a2
- unlk a5
- rts
- L133
- ; if (ctx->AttribStackDepth==0)
- move.l $1E20(a2),d0
- bne.b L135
- L134
- ; gl_error( ctx, GL_STACK_UNDERFLOW, "glPopAttrib" );
- move.l #L129,-(a7)
- pea $504.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/a2
- unlk a5
- rts
- L135
- ; ctx->AttribStackDepth--;
- move.l $1E20(a2),d0
- subq.l #1,d0
- move.l d0,$1E20(a2)
- ; attr = ctx->AttribStack[ctx->AttribStackDepth];
- lea $1E24(a2),a0
- move.l $1E20(a2),d0
- lea 0(a0,d0.l*4),a0
- move.l (a0),-4(a5)
- ; while (attr)
- bra L168
- L136
- ; switch (attr->kind)
- move.l -4(a5),a0
- move.l (a0),d0
- cmp.l #$400,d0
- beq L162
- bhi L171
- cmp.l #$20,d0
- beq L157
- bhi.b L172
- cmp.l #4,d0
- beq L155
- bhi.b L173
- cmp.l #1,d0
- beq L141
- cmp.l #2,d0
- beq L158
- bra L166
- L173
- cmp.l #$8,d0
- beq L159
- cmp.l #$10,d0
- beq L160
- bra L166
- L172
- cmp.l #$100,d0
- beq L142
- bhi.b L174
- cmp.l #$40,d0
- beq L154
- cmp.l #$80,d0
- beq L152
- bra L166
- L174
- cmp.l #$200,d0
- beq.b L137
- bra L166
- L171
- cmp.l #$8000,d0
- beq L153
- bhi.b L175
- cmp.l #$2000,d0
- beq L143
- bhi.b L176
- cmp.l #$800,d0
- beq L165
- cmp.l #$1000,d0
- beq L163
- bra L166
- L176
- cmp.l #$4000,d0
- beq.b L138
- bra L166
- L175
- cmp.l #$40000,d0
- beq L164
- bhi.b L177
- cmp.l #$10000,d0
- beq L151
- cmp.l #$20000,d0
- beq L156
- bra L166
- L177
- cmp.l #$80000,d0
- beq L161
- bra L166
- ;
- L137
- ;>Accum, attr->dat
- pea $10.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- lea $1E64(a2),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L138
- ; oldDrawBuffer = ctx->Color.DrawBuffer;
- lea $1E74(a2),a0
- move.l $1E(a0),d2
- ; sizeof(struct gl_co
- pea $52.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- lea $1E74(a2),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; if (ctx->Color.DrawBuffer != oldDrawBuffer)
- lea $1E74(a2),a0
- move.l $1E(a0),d0
- cmp.l d2,d0
- beq.b L140
- L139
- ; gl_DrawBuffer(ctx, ctx->Color.DrawBuffer);
- lea $1E74(a2),a0
- move.l $1E(a0),d0
- move.l d0,-(a7)
- move.l a2,-(a7)
- jsr _gl_DrawBuffer
- addq.w #$8,a7
- L140
- ;
- bra L167
- L141
- ; sizeof(struct gl_curren
- pea $5E.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- lea $1EC6(a2),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L142
- ; sizeof(struct gl_de
- pea $A.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- lea $1F24(a2),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L143
- ; enable = (struct gl_enable_attrib *) attr->data;
- move.l -4(a5),a1
- move.l 4(a1),a0
- ; ctx->Color.AlphaEnabled = enable->AlphaTest;
- move.b (a0),d0
- move.b d0,$1E96(a2)
- ; ctx->Transform.Normalize = enable->AutoNormal;
- move.b 1(a0),d0
- move.l a2,a1
- add.l #$DC7D,a1
- move.b d0,(a1)
- ; ctx->Color.BlendEnabled = enable->Blend;
- move.b 2(a0),d0
- move.b d0,$1EA1(a2)
- ; for (i=0;
- moveq #0,d0
- bra.b L145
- L144
- ; ctx->Transform.ClipEnabled[i] = enable->ClipPlane[i];
- lea 3(a0),a1
- add.l d0,a1
- move.b (a1),d1
- move.l a2,a1
- add.l #$DC76,a1
- lea (a1),a1
- add.l d0,a1
- move.b d1,(a1)
- addq.l #1,d0
- L145
- cmp.l #6,d0
- blo.b L144
- L146
- ; ctx->Light.ColorMaterialEnabled = enable->ColorMaterial;
- move.b $9(a0),d0
- move.l a2,a1
- add.l #$ADB4,a1
- move.b d0,(a1)
- ; ctx->Polygon.CullFlag = enable->CullFace;
- move.b $A(a0),d0
- move.l a2,a1
- add.l #$D67D,a1
- move.b d0,(a1)
- ; ctx->Depth.Test = enable->DepthTest;
- move.b $B(a0),d0
- move.b d0,$1F2C(a2)
- ; ctx->Color.DitherFlag = enable->Dither;
- move.b $C(a0),d0
- move.b d0,$1EC5(a2)
- ; ctx->Fog.Enabled = enable->Fog;
- move.b $D(a0),d0
- move.b d0,$1F66(a2)
- ; ctx->Light.Enabled = enable->Lighting;
- move.b $16(a0),d0
- move.l a2,a1
- add.l #$ADA2,a1
- move.b d0,(a1)
- ; ctx->Line.SmoothFlag = enable->LineSmooth;
- move.b $17(a0),d0
- move.l a2,a1
- add.l #$ADDC,a1
- move.b d0,(a1)
- ; ctx->Line.StippleFlag = enable->LineStipple;
- move.b $18(a0),d0
- move.l a2,a1
- add.l #$ADDD,a1
- move.b d0,(a1)
- ; ctx->Color.IndexLogicOpEnabled = enable->IndexLogicOp;
- move.b $19(a0),d0
- move.b d0,$1EC2(a2)
- ; ctx->Color.ColorLogicOpEnabled = enable->ColorLogicOp;
- move.b $1A(a0),d0
- move.b d0,$1EC3(a2)
- ; ctx->Eval.Map1Color4 = enable->Map1Color4;
- move.b $1B(a0),d0
- move.b d0,$1F2E(a2)
- ; ctx->Eval.Map1Index = enable->Map1Index;
- move.b $1C(a0),d0
- move.b d0,$1F2F(a2)
- ; ctx->Eval.Map1Normal = enable->Map1Normal;
- move.b $1D(a0),d0
- move.b d0,$1F30(a2)
- ; ctx->Eval.Map1TextureCoord1 = enable->Map1TextureCoord1;
- move.b $1E(a0),d0
- move.b d0,$1F31(a2)
- ; ctx->Eval.Map1TextureCoord2 = enable->Map1TextureCoord2;
- move.b $1F(a0),d0
- move.b d0,$1F32(a2)
- ; ctx->Eval.Map1TextureCoord3 = enable->Map1TextureCoord3;
- move.b $20(a0),d0
- move.b d0,$1F33(a2)
- ; ctx->Eval.Map1TextureCoord4 = enable->Map1TextureCoord4;
- move.b $21(a0),d0
- move.b d0,$1F34(a2)
- ; ctx->Eval.Map1Vertex3 = enable->Map1Vertex3;
- move.b $22(a0),d0
- move.b d0,$1F35(a2)
- ; ctx->Eval.Map1Vertex4 = enable->Map1Vertex4;
- move.b $23(a0),d0
- move.b d0,$1F36(a2)
- ; ctx->Eval.Map2Color4 = enable->Map2Color4;
- move.b $24(a0),d0
- move.b d0,$1F37(a2)
- ; ctx->Eval.Map2Index = enable->Map2Index;
- move.b $25(a0),d0
- move.b d0,$1F38(a2)
- ; ctx->Eval.Map2Normal = enable->Map2Normal;
- move.b $26(a0),d0
- move.b d0,$1F39(a2)
- ; ctx->Eval.Map2TextureCoord1 = enable->Map2TextureCoord1;
- move.b $27(a0),d0
- move.b d0,$1F3A(a2)
- ; ctx->Eval.Map2TextureCoord2 = enable->Map2TextureCoord2;
- move.b $28(a0),d0
- move.b d0,$1F3B(a2)
- ; ctx->Eval.Map2TextureCoord3 = enable->Map2TextureCoord3;
- move.b $29(a0),d0
- move.b d0,$1F3C(a2)
- ; ctx->Eval.Map2TextureCoord4 = enable->Map2TextureCoord4;
- move.b $2A(a0),d0
- move.b d0,$1F3D(a2)
- ; ctx->Eval.Map2Vertex3 = enable->Map2Vertex3;
- move.b $2B(a0),d0
- move.b d0,$1F3E(a2)
- ; ctx->Eval.Map2Vertex4 = enable->Map2Vertex4;
- move.b $2C(a0),d0
- move.b d0,$1F3F(a2)
- ; ctx->Transform.Normalize = enable->Normalize;
- move.b $2D(a0),d0
- move.l a2,a1
- add.l #$DC7D,a1
- move.b d0,(a1)
- ; ctx->Point.SmoothFlag = enable->PointSmooth;
- move.b $2E(a0),d0
- move.l a2,a1
- add.l #$D652,a1
- move.b d0,(a1)
- ; ctx->Polygon.OffsetPoint = enable->PolygonOffsetPoint;
- move.b $2F(a0),d0
- move.l a2,a1
- add.l #$D690,a1
- move.b d0,(a1)
- ; ctx->Polygon.OffsetLine = enable->PolygonOffsetLine;
- move.b $30(a0),d0
- move.l a2,a1
- add.l #$D691,a1
- move.b d0,(a1)
- ; ctx->Polygon.OffsetFill = enable->PolygonOffsetFill;
- move.b $31(a0),d0
- move.l a2,a1
- add.l #$D692,a1
- move.b d0,(a1)
- ; ctx->Polygon.OffsetAny = ctx->Polygon.OffsetPoint ||
- moveq #1,d0
- move.l a2,a1
- add.l #$D670,a1
- lea (a1),a1
- move.b $20(a1),d1
- bne.b L150
- L147
- move.l a2,a1
- add.l #$D670,a1
- lea (a1),a1
- move.b $21(a1),d1
- bne.b L150
- L148
- move.l a2,a1
- add.l #$D670,a1
- lea (a1),a1
- move.b $22(a1),d1
- bne.b L150
- L149
- moveq #0,d0
- L150
- move.l a2,a1
- add.l #$D693,a1
- move.b d0,(a1)
- ; ctx->Polygon.SmoothFlag = enable->PolygonSmooth;
- move.b $32(a0),d0
- move.l a2,a1
- add.l #$D686,a1
- move.b d0,(a1)
- ; ctx->Polygon.StippleFlag = enable->PolygonStipple;
- move.b $33(a0),d0
- move.l a2,a1
- add.l #$D687,a1
- move.b d0,(a1)
- ; ctx->Scissor.Enabled = enable->Scissor;
- move.b $34(a0),d0
- move.l a2,a1
- add.l #$D714,a1
- move.b d0,(a1)
- ; ctx->Stencil.Enabled = enable->Stencil;
- move.b $35(a0),d0
- move.l a2,a1
- add.l #$D726,a1
- move.b d0,(a1)
- ; ctx->Texture.Enabled = enable->Texture;
- move.l $36(a0),d0
- move.l a2,a1
- add.l #$D73C,a1
- move.l d0,(a1)
- ; ctx->Texture.TexGenEnabled = enable->TexGen;
- move.l $3A(a0),d0
- move.l a2,a0
- add.l #$D754,a0
- move.l d0,(a0)
- ;
- bra L167
- L151
- ;x->Eval, attr->da
- pea $38.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- lea $1F2E(a2),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L152
- ;ctx->Fog, attr->d
- pea $26.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- lea $1F66(a2),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L153
- ;x->Hint, attr->da
- pea $14.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- lea $1F8C(a2),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L154
- ;>Light, attr->dat
- move.l #$8E3C,-(a7)
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- lea $1FA0(a2),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L155
- ;x->Line, attr->da
- pea $C.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- move.l a2,a0
- add.l #$ADDC,a0
- lea (a0),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L156
- ;x->List, attr->da
- pea 4.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- move.l a2,a0
- add.l #$ADE8,a0
- lea (a0),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L157
- ;>Pixel, attr->dat
- pea $2866.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- move.l a2,a0
- add.l #$ADEC,a0
- lea (a0),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L158
- ;>Point, attr->dat
- pea $1E.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- move.l a2,a0
- add.l #$D652,a0
- lea (a0),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L159
- ; sizeof(struct gl_polygo
- pea $24.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- move.l a2,a0
- add.l #$D670,a0
- lea (a0),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L160
- ;ctx->PolygonStipp
- pea $80.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- move.l a2,a0
- add.l #$D694,a0
- lea (a0),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L161
- ; sizeof(struct gl_scisso
- pea $12.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- move.l a2,a0
- add.l #$D714,a0
- lea (a0),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L162
- ; sizeof(struct gl_stenci
- pea $16.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- move.l a2,a0
- add.l #$D726,a0
- lea (a0),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra L167
- L163
- ; sizeof(struct gl_tran
- pea $6C.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- move.l a2,a0
- add.l #$DC12,a0
- lea (a0),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra.b L167
- L164
- ; sizeof(struct gl_textur
- pea $4D6.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- move.l a2,a0
- add.l #$D73C,a0
- lea (a0),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra.b L167
- L165
- ; sizeof(struct gl_viewp
- pea $30.w
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- move.l a2,a0
- add.l #$DC7E,a0
- lea (a0),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra.b L167
- L166
- ; gl_problem( ctx, "Bad attrib flag in PopAttrib");
- move.l #L130,-(a7)
- move.l a2,-(a7)
- jsr _gl_problem
- addq.w #$8,a7
- ;
- L167
- ; next = attr->next;
- move.l -4(a5),a0
- move.l $8(a0),-$8(a5)
- ; free( (void *) attr->data );
- move.l -4(a5),a1
- move.l 4(a1),a0
- move.l a0,-(a7)
- jsr _free
- addq.w #4,a7
- ; free( (void *) attr );
- move.l -4(a5),-(a7)
- jsr _free
- addq.w #4,a7
- ; attr = next;
- move.l -$8(a5),-4(a5)
- L168
- tst.l -4(a5)
- bne L136
- L169
- ; ctx->NewState = NEW_ALL;
- move.l a2,a0
- add.l #$E082,a0
- move.l #$F,(a0)
- ; i++;
- movem.l (a7)+,d2/a2
- unlk a5
- rts
-
- L130
- dc.b 'Bad attrib flag in PopAttrib',0
- L129
- dc.b 'glPopAttrib',0
-
- SECTION "_gl_PushClientAttrib:0",CODE
-
-
- ;void gl_PushClientAttrib( GLcontext *ctx, GLbitfield mask )
- XDEF _gl_PushClientAttrib
- _gl_PushClientAttrib
- L188 EQU -$18
- link a5,#L188
- movem.l d2/a2,-(a7)
- move.l $C(a5),d2
- L179
- ; if (INSIDE_BEGIN_END(ctx))
- move.l $8(a5),a0
- add.l #$E08A,a0
- move.l (a0),d0
- cmp.l #$1A00,d0
- beq.b L181
- L180
- ; gl_error( ctx, GL_INVALID_OPERATION, "glPushClientAttrib
- move.l #L178,-(a7)
- pea $502.w
- move.l $8(a5),-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/a2
- unlk a5
- rts
- L181
- ; if (ctx->ClientAttribStackDepth>=MAX_CLIENT_ATTRIB_STACK_DEPTH)
- move.l $8(a5),a0
- add.l #$DCAE,a0
- move.l (a0),d0
- cmp.l #$10,d0
- blo.b L183
- L182
- ; gl_error( ctx, GL_STACK_OVERFLOW, "glPushClientAttrib" );
- move.l #L178,-(a7)
- pea $503.w
- move.l $8(a5),-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/a2
- unlk a5
- rts
- L183
- ; head = NULL;
- clr.l -$8(a5)
- ; if (mask & GL_CLIENT_PIXEL_STORE_BIT)
- move.l d2,d0
- and.l #1,d0
- beq L185
- L184
- ; attr = MALLOC_STRUCT( gl_pixelstore_attrib );
- pea $1A.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ;r, &ctx->Pack, si
- pea $1A.w
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$DD66,a0
- lea (a0),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_CLIENT_PACK_BIT );
- move.l #$100000,-(a7)
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- ; attr = MALLOC_STRUCT( gl_pixelstore_attrib );
- pea $1A.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ; &ctx->Unpack, si
- pea $1A.w
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$DD80,a0
- lea (a0),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_CLIENT_UNPACK_BIT );
- move.l #$200000,-(a7)
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L185
- ; if (mask & GL_CLIENT_VERTEX_ARRAY_BIT)
- and.l #2,d2
- beq.b L187
- L186
- ; attr = MALLOC_STRUCT( gl_array_attrib );
- pea $74.w
- jsr _malloc
- addq.w #4,a7
- move.l d0,a2
- ; attr, &ctx->Arra
- pea $74.w
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$DCF2,a0
- lea (a0),a0
- move.l a0,-(a7)
- move.l a2,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ; newnode = new_attrib_node( GL_CLIENT_VERTEX_ARRAY_BIT );
- pea 2.w
- jsr _new_attrib_node
- addq.w #4,a7
- move.l d0,a0
- ; newnode->data = attr;
- move.l a2,4(a0)
- ; newnode->next = head;
- move.l -$8(a5),$8(a0)
- ; head = newnode;
- move.l a0,-$8(a5)
- L187
- ; ctx->ClientAttribStack[ctx->ClientAttribStackDepth] = head;
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$DCB2,a0
- lea (a0),a0
- move.l $8(a5),a1
- add.l #$DCAE,a1
- move.l (a1),d0
- lea 0(a0,d0.l*4),a0
- move.l -$8(a5),(a0)
- ; ctx->ClientAttribStackDepth++;
- move.l $8(a5),a0
- add.l #$DCAE,a0
- move.l (a0),d0
- addq.l #1,d0
- move.l $8(a5),a0
- add.l #$DCAE,a0
- move.l d0,(a0)
- movem.l (a7)+,d2/a2
- unlk a5
- rts
-
- L178
- dc.b 'glPushClientAttrib',0
-
- SECTION "_gl_PopClientAttrib:0",CODE
-
-
- ;void gl_PopClientAttrib( GLcontext *ctx )
- XDEF _gl_PopClientAttrib
- _gl_PopClientAttrib
- L204 EQU -$1C
- link a5,#L204
- move.l a2,-(a7)
- L191
- ; if (INSIDE_BEGIN_END(ctx))
- move.l $8(a5),a0
- add.l #$E08A,a0
- move.l (a0),d0
- cmp.l #$1A00,d0
- beq.b L193
- L192
- ; gl_error( ctx, GL_INVALID_OPERATION, "glPopClientAttrib"
- move.l #L189,-(a7)
- pea $502.w
- move.l $8(a5),-(a7)
- jsr _gl_error
- add.w #$C,a7
- move.l (a7)+,a2
- unlk a5
- rts
- L193
- ; if (ctx->ClientAttribStackDepth==0)
- move.l $8(a5),a0
- add.l #$DCAE,a0
- move.l (a0),d0
- bne.b L195
- L194
- ; gl_error( ctx, GL_STACK_UNDERFLOW, "glPopClientAttrib" );
- move.l #L189,-(a7)
- pea $504.w
- move.l $8(a5),-(a7)
- jsr _gl_error
- add.w #$C,a7
- move.l (a7)+,a2
- unlk a5
- rts
- L195
- ; ctx->ClientAttribStackDepth--;
- move.l $8(a5),a0
- add.l #$DCAE,a0
- move.l (a0),d0
- subq.l #1,d0
- move.l $8(a5),a0
- add.l #$DCAE,a0
- move.l d0,(a0)
- ; attr = ctx->ClientAttribStack[ctx->ClientAttribStackDepth];
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$DCB2,a0
- lea (a0),a0
- move.l $8(a5),a1
- add.l #$DCAE,a1
- move.l (a1),d0
- lea 0(a0,d0.l*4),a0
- move.l (a0),a2
- ; while (attr)
- bra L202
- L196
- ; switch (attr->kind)
- move.l (a2),d0
- cmp.l #$100000,d0
- beq.b L197
- bhi.b L205
- cmp.l #2,d0
- beq.b L199
- bra L200
- L205
- cmp.l #$200000,d0
- beq.b L198
- bra.b L200
- ;
- L197
- ; sizeof(struct gl_pix
- pea $1A.w
- move.l 4(a2),a0
- move.l a0,-(a7)
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$DD66,a0
- lea (a0),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra.b L201
- L198
- ; sizeof(struct gl_pix
- pea $1A.w
- move.l 4(a2),a0
- move.l a0,-(a7)
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$DD80,a0
- lea (a0),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra.b L201
- L199
- ; sizeof(struct gl_array_at
- pea $74.w
- move.l 4(a2),a0
- move.l a0,-(a7)
- move.l $8(a5),a1
- move.l a1,a0
- add.l #$DCF2,a0
- lea (a0),a0
- move.l a0,-(a7)
- jsr _memcpy
- add.w #$C,a7
- ;
- bra.b L201
- L200
- ; gl_problem( ctx, "Bad attrib flag in PopClientAttrib");
- move.l #L190,-(a7)
- move.l $8(a5),-(a7)
- jsr _gl_problem
- addq.w #$8,a7
- ;
- L201
- ; next = attr->next;
- move.l $8(a2),-$8(a5)
- ; free( (void *) attr->data );
- move.l 4(a2),a0
- move.l a0,-(a7)
- jsr _free
- addq.w #4,a7
- ; free( (void *) attr );
- move.l a2,-(a7)
- jsr _free
- addq.w #4,a7
- ; attr = next;
- move.l -$8(a5),a2
- L202
- cmp.w #0,a2
- bne L196
- L203
- ; ctx->NewState = NEW_ALL;
- move.l $8(a5),a0
- add.l #$E082,a0
- move.l #$F,(a0)
- ; i++;
- move.l (a7)+,a2
- unlk a5
- rts
-
- L190
- dc.b 'Bad attrib flag in PopClientAttrib',0
- L189
- dc.b 'glPopClientAttrib',0
-
- END
-