
; Storm C Compiler
; Work2:Mesa3/Mesa-3.0/src/enable.c
	mc68030
	mc68881
	XREF	_gl_set_color_function
	XREF	_gl_set_material
	XREF	_gl_error
	XREF	_gl_warning
	XREF	_CC

	SECTION "_gl_enable:0",CODE


;static void gl_enable( GLcontext* ctx, GLenum cap, GLboolean state )
_gl_enable
L341	EQU	-$20
	link	a5,#L341
	movem.l	d2/d3/a2,-(a7)
	move.b	$10(a5),d0
	move.l	$C(a5),d2
	move.l	$8(a5),a2
L185
;   GLuint texSet = ctx->Texture.CurrentSet;
	move.l	a2,a0
	add.l	#$DEBA,a0
	move.l	(a0),d1
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a2,a0
	add.l	#$E968,a0
	move.l	(a0),d3
	cmp.l	#$1A00,d3
	beq.b	L190
L186
;      if (state) 
	tst.b	d0
	beq.b	L188
L187
;	 gl_error( ctx, GL_INVALID_OPERATION, "glEnable" );
	move.l	#L181,-(a7)
	pea	$502.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	bra.b	L189
L188
;	 gl_error( ctx, GL_INVALID_OPERATION, "glDisable" );
	move.l	#L182,-(a7)
	pea	$502.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L189
	movem.l	(a7)+,d2/d3/a2
	unlk	a5
	rts
L190
;   switch (cap)
	move.l	d2,d3
	cmp.l	#$DB2,d3
	beq	L257
	bgt	L342
	cmp.l	#$C11,d3
	beq	L284
	bgt	L343
	cmp.l	#$B60,d3
	beq	L227
	bgt.b	L344
	cmp.l	#$B42,d3
	beq	L271
	bgt.b	L345
	cmp.l	#$B24,d3
	beq	L237
	bgt.b	L346
	cmp.l	#$B10,d3
	beq	L265
	cmp.l	#$B20,d3
	beq	L234
	bra	L336
L346
	cmp.l	#$B41,d3
	beq	L268
	bra	L336
L345
	cmp.l	#$B50,d3
	beq	L231
	bgt.b	L347
	cmp.l	#$B44,d3
	beq	L213
	bra	L336
L347
	cmp.l	#$B57,d3
	beq	L208
	bra	L336
L344
	cmp.l	#$BD0,d3
	beq	L222
	bgt.b	L348
	cmp.l	#$BA1,d3
	beq	L264
	bgt.b	L349
	cmp.l	#$B71,d3
	beq	L216
	cmp.l	#$B90,d3
	beq	L290
	bra	L336
L349
	cmp.l	#$BC0,d3
	beq	L191
	bra	L336
L348
	cmp.l	#$BF1,d3
	beq	L240
	bgt.b	L350
	cmp.l	#$BE2,d3
	beq	L195
	bra	L336
L350
	cmp.l	#$BF2,d3
	beq	L243
	bra	L336
L343
	cmp.l	#$D93,d3
	beq	L249
	bgt.b	L351
	cmp.l	#$D80,d3
	beq	L194
	bgt.b	L352
	cmp.l	#$C62,d3
	beq	L318
	bgt.b	L353
	cmp.l	#$C60,d3
	beq	L322
	cmp.l	#$C61,d3
	beq	L326
	bra	L336
L353
	cmp.l	#$C63,d3
	beq	L314
	bra	L336
L352
	cmp.l	#$D91,d3
	beq	L247
	bgt.b	L354
	cmp.l	#$D90,d3
	beq	L246
	bra	L336
L354
	bgt	L248
L351
	cmp.l	#$D97,d3
	beq	L253
	bgt.b	L355
	cmp.l	#$D95,d3
	beq	L251
	bgt.b	L356
	blt	L250
L356
	bgt	L252
L355
	cmp.l	#$DB0,d3
	beq	L255
	bgt.b	L357
	cmp.l	#$D98,d3
	beq	L254
	bra	L336
L357
	bgt	L256
L342
	cmp.l	#$4001,d3
	beq	L230
	bgt	L358
	cmp.l	#$2A01,d3
	beq	L274
	bgt.b	L359
	cmp.l	#$DB7,d3
	beq	L262
	bgt.b	L360
	cmp.l	#$DB5,d3
	beq	L260
	bgt.b	L361
	cmp.l	#$DB3,d3
	beq	L258
	cmp.l	#$DB4,d3
	beq	L259
	bra	L336
L361
	bgt	L261
L360
	cmp.l	#$DE0,d3
	beq	L296
	bgt.b	L362
	cmp.l	#$DB8,d3
	beq	L263
	bra	L336
L362
	cmp.l	#$DE1,d3
	beq	L302
	bra	L336
L359
	cmp.l	#$3003,d3
	beq	L202
	bgt.b	L363
	cmp.l	#$3001,d3
	beq	L202
	bgt.b	L364
	cmp.l	#$2A02,d3
	beq	L277
	cmp.l	#$3000,d3
	beq	L202
	bra	L336
L364
	bgt	L202
L363
	cmp.l	#$3005,d3
	beq	L202
	bgt.b	L365
	blt	L202
L365
	cmp.l	#$4000,d3
	beq	L230
	bra	L336
L358
	cmp.l	#$806F,d3
	beq	L308
	bgt.b	L366
	cmp.l	#$4006,d3
	beq	L230
	bgt.b	L367
	cmp.l	#$4004,d3
	beq	L230
	bgt.b	L368
	cmp.l	#$4002,d3
	beq	L230
	cmp.l	#$4003,d3
	beq	L230
	bra	L336
L368
	bgt	L230
L367
	cmp.l	#$8037,d3
	beq	L280
	bgt.b	L369
	cmp.l	#$4007,d3
	beq	L230
	bra	L336
L369
	cmp.l	#$803A,d3
	beq	L283
	bra	L336
L366
	cmp.l	#$8077,d3
	beq	L333
	bgt.b	L370
	cmp.l	#$8075,d3
	beq	L331
	bgt.b	L371
	cmp.l	#$8074,d3
	beq	L330
	bra	L336
L371
	bgt	L332
L370
	cmp.l	#$8079,d3
	beq	L335
	bgt.b	L372
	blt	L334
L372
	cmp.l	#$81FB,d3
	beq	L287
	bra	L336
;      
L191
;	 if (ctx->Color.AlphaEnabled!=state) 
	move.b	$21E6(a2),d1
	cmp.b	d0,d1
	beq	L340
L192
;	    ctx->Color.AlphaEnabled = state;
	move.b	d0,$21E6(a2)
;	    ctx->NewState |= NEW_RASTER_OPS;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#2,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L193
;	 
	bra	L340
L194
;	 ctx->Eval.AutoNormal = state;
	move.b	d0,$22B8(a2)
;	 
	bra	L340
L195
;	 if (ctx->Color.BlendEnabled!=state) 
	move.b	$21ED(a2),d1
	cmp.b	d0,d1
	beq	L340
L196
;	    ctx->Color.BlendEnabled = state;
	move.b	d0,$21ED(a2)
;	    if (ctx->Color.BlendEquation==GL_LOGIC_OP && state) 
	move.l	$21F6(a2),d1
	cmp.l	#$BF1,d1
	bne.b	L199
L197
	tst.b	d0
	beq.b	L199
L198
;	       ctx->Color.ColorLogicOpEnabled = GL_TRUE;
	move.b	#1,$2213(a2)
	bra.b	L200
L199
;	       ctx->Color.ColorLogicOpEnabled = GL_FALSE;
	clr.b	$2213(a2)
L200
;	    ctx->NewState |= NEW_RASTER_OPS;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#2,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L201
;	 
	bra	L340
L202
;	 ctx->Transform.ClipEnabled[cap-GL_CLIP_PLANE0] = state;
	move.l	a2,a0
	add.l	#$E536,a0
	lea	-$3000(a0),a0
	move.b	d0,0(a0,d2.l)
;	 ctx->Transform.AnyClip = GL_FALSE;
	move.l	a2,a0
	add.l	#$E53C,a0
	clr.b	(a0)
;	 for (p=0;
	moveq	#0,d0
	bra.b	L206
L203
;	    if (ctx->Transform.ClipEnabled[p]) 
	move.l	a2,a0
	add.l	#$E536,a0
	tst.b	0(a0,d0.l)
	beq.b	L205
L204
;	       ctx->Transform.AnyClip = GL_TRUE;
	move.l	a2,a0
	add.l	#$E53C,a0
	move.b	#1,(a0)
;	       
	bra	L340
L205
	addq.l	#1,d0
L206
	cmp.l	#6,d0
	blo.b	L203
L207
;	 
	bra	L340
L208
;	 if (ctx->Light.ColorMaterialEnabled!=state) 
	lea	$2318(a2),a0
	add.l	#$8E18,a0
	move.b	(a0),d1
	cmp.b	d0,d1
	beq	L340
L209
;	    ctx->Light.ColorMaterialEnabled = state;
	move.l	a2,a0
	add.l	#$B130,a0
	move.b	d0,(a0)
;	    if (state) 
	beq	L211
L210
;	       color[0] = ctx->Current.ByteColor[0] * (1.0F / 255.0
	moveq	#0,d0
	move.b	$2216(a2),d0
	fmove.l	d0,fp0
	fmul.s	#$.3B808080,fp0
	fmove.s	fp0,-$18(a5)
;	       color[1] = ctx->Current.ByteColor[1] * (1.0F / 255.0
	lea	$2216(a2),a0
	moveq	#0,d0
	move.b	1(a0),d0
	fmove.l	d0,fp0
	fmul.s	#$.3B808080,fp0
	lea	-$18(a5),a0
	fmove.s	fp0,4(a0)
;	       color[2] = ctx->Current.ByteColor[2] * (1.0F / 255.0
	lea	$2216(a2),a0
	moveq	#0,d0
	move.b	2(a0),d0
	fmove.l	d0,fp0
	fmul.s	#$.3B808080,fp0
	lea	-$18(a5),a0
	fmove.s	fp0,$8(a0)
;	       color[3] = ctx->Current.ByteColor[3] * (1.0F / 255.0
	lea	$2216(a2),a0
	moveq	#0,d0
	move.b	3(a0),d0
	fmove.l	d0,fp0
	fmul.s	#$.3B808080,fp0
	lea	-$18(a5),a0
	fmove.s	fp0,$C(a0)
;	       gl_set_material( ctx, ctx->Light.ColorMaterialBitmas
	pea	-$18(a5)
	lea	$2318(a2),a0
	add.l	#$8E14,a0
	move.l	(a0),-(a7)
	move.l	a2,-(a7)
	jsr	_gl_set_material
	add.w	#$C,a7
L211
;	    gl_set_color_function(ctx);
	move.l	a2,-(a7)
	jsr	_gl_set_color_function
	addq.w	#4,a7
;	    ctx->NewState |= NEW_LIGHTING;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#1,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L212
;	 
	bra	L340
L213
;	 if (ctx->Polygon.CullFlag!=state) 
	move.l	a2,a0
	add.l	#$DDEE,a0
	move.b	$D(a0),d1
	cmp.b	d0,d1
	beq	L340
L214
;	    ctx->Polygon.CullFlag = state;
	move.l	a2,a0
	add.l	#$DDFB,a0
	move.b	d0,(a0)
;	    ctx->NewState |= NEW_POLYGON;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#$8,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L215
;	 
	bra	L340
L216
;	 if (state && ctx->Visual->DepthBits==0) 
	tst.b	d0
	beq.b	L219
L217
	move.l	$8F8(a2),a0
	tst.l	$1C(a0)
	bne.b	L219
L218
;	    gl_warning(ctx,"glEnable(GL_DEPTH_TEST) but no depth buffe
	move.l	#L183,-(a7)
	move.l	a2,-(a7)
	jsr	_gl_warning
	addq.w	#$8,a7
	movem.l	(a7)+,d2/d3/a2
	unlk	a5
	rts
L219
;	 if (ctx->Depth.Test!=state) 
	move.b	$22A4(a2),d1
	cmp.b	d0,d1
	beq	L340
L220
;	    ctx->Depth.Test = state;
	move.b	d0,$22A4(a2)
;	    ctx->NewState |= NEW_RASTER_OPS;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#2,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L221
;	 
	bra	L340
L222
;	 if (ctx->NoDither) 
	move.l	a2,a0
	add.l	#$E99D,a0
	tst.b	(a0)
	beq.b	L224
L223
;	    state = GL_FALSE;
	moveq	#0,d0
L224
;	 if (ctx->Color.DitherFlag!=state) 
	move.b	$2215(a2),d1
	cmp.b	d0,d1
	beq	L340
L225
;	    ctx->Color.DitherFlag = state;
	move.b	d0,$2215(a2)
;	    ctx->NewState |= NEW_RASTER_OPS;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#2,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L226
;	 
	bra	L340
L227
;	 if (ctx->Fog.Enabled!=state) 
	move.b	$22DE(a2),d1
	cmp.b	d0,d1
	beq	L340
L228
;	    ctx->Fog.Enabled = state;
	move.b	d0,$22DE(a2)
;	    ctx->NewState |= NEW_RASTER_OPS;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#2,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L229
;	 
	bra	L340
L230
;	 ctx->Light.Light[cap-GL_LIGHT0].Enabled = state;
	lea	$2318(a2),a0
	sub.l	#$4388000,a0
	muls.l	#$10E2,d2
	move.b	d0,$68(a0,d2.l)
;	 ctx->NewState |= NEW_LIGHTING;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#1,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
;	 
	bra	L340
L231
;	 if (ctx->Light.Enabled!=state) 
	lea	$2318(a2),a0
	add.l	#$8E06,a0
	move.b	(a0),d1
	cmp.b	d0,d1
	beq	L340
L232
;	    ctx->Light.Enabled = state;
	move.l	a2,a0
	add.l	#$B11E,a0
	move.b	d0,(a0)
;	    ctx->NewState |= NEW_LIGHTING;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#1,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L233
;	 
	bra	L340
L234
;	 if (ctx->Line.SmoothFlag!=state) 
	move.l	a2,a0
	add.l	#$B158,a0
	move.b	(a0),d1
	cmp.b	d0,d1
	beq	L340
L235
;	    ctx->Line.SmoothFlag = state;
	move.l	a2,a0
	add.l	#$B158,a0
	move.b	d0,(a0)
;	    ctx->NewState |= NEW_RASTER_OPS;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#2,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L236
;	 
	bra	L340
L237
;	 if (ctx->Line.StippleFlag!=state) 
	move.l	a2,a0
	add.l	#$B158,a0
	move.b	1(a0),d1
	cmp.b	d0,d1
	beq	L340
L238
;	    ctx->Line.StippleFlag = state;
	move.l	a2,a0
	add.l	#$B159,a0
	move.b	d0,(a0)
;	    ctx->NewState |= NEW_RASTER_OPS;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#2,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L239
;	 
	bra	L340
L240
;	 if (ctx->Color.IndexLogicOpEnabled!=state) 
	move.b	$2212(a2),d1
	cmp.b	d0,d1
	beq.b	L242
L241
;	    ctx->NewState |= NEW_RASTER_OPS;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d1
	or.l	#2,d1
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d1,(a0)
L242
;	 ctx->Color.IndexLogicOpEnabled = state;
	move.b	d0,$2212(a2)
;	 
	bra	L340
L243
;	 if (ctx->Color.ColorLogicOpEnabled!=state) 
	move.b	$2213(a2),d1
	cmp.b	d0,d1
	beq.b	L245
L244
;	    ctx->NewState |= NEW_RASTER_OPS;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d1
	or.l	#2,d1
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d1,(a0)
L245
;	 ctx->Color.ColorLogicOpEnabled = state;
	move.b	d0,$2213(a2)
;	 
	bra	L340
L246
;	 ctx->Eval.Map1Color4 = state;
	move.b	d0,$22A6(a2)
;	 
	bra	L340
L247
;	 ctx->Eval.Map1Index = state;
	move.b	d0,$22A7(a2)
;	 
	bra	L340
L248
;	 ctx->Eval.Map1Normal = state;
	move.b	d0,$22A8(a2)
;	 
	bra	L340
L249
;	 ctx->Eval.Map1TextureCoord1 = state;
	move.b	d0,$22A9(a2)
;	 
	bra	L340
L250
;	 ctx->Eval.Map1TextureCoord2 = state;
	move.b	d0,$22AA(a2)
;	 
	bra	L340
L251
;	 ctx->Eval.Map1TextureCoord3 = state;
	move.b	d0,$22AB(a2)
;	 
	bra	L340
L252
;	 ctx->Eval.Map1TextureCoord4 = state;
	move.b	d0,$22AC(a2)
;	 
	bra	L340
L253
;	 ctx->Eval.Map1Vertex3 = state;
	move.b	d0,$22AD(a2)
;	 
	bra	L340
L254
;	 ctx->Eval.Map1Vertex4 = state;
	move.b	d0,$22AE(a2)
;	 
	bra	L340
L255
;	 ctx->Eval.Map2Color4 = state;
	move.b	d0,$22AF(a2)
;	 
	bra	L340
L256
;	 ctx->Eval.Map2Index = state;
	move.b	d0,$22B0(a2)
;	 
	bra	L340
L257
;	 ctx->Eval.Map2Normal = state;
	move.b	d0,$22B1(a2)
;	 
	bra	L340
L258
;	 ctx->Eval.Map2TextureCoord1 = state;
	move.b	d0,$22B2(a2)
;	 
	bra	L340
L259
;	 ctx->Eval.Map2TextureCoord2 = state;
	move.b	d0,$22B3(a2)
;	 
	bra	L340
L260
;	 ctx->Eval.Map2TextureCoord3 = state;
	move.b	d0,$22B4(a2)
;	 
	bra	L340
L261
;	 ctx->Eval.Map2TextureCoord4 = state;
	move.b	d0,$22B5(a2)
;	 
	bra	L340
L262
;	 ctx->Eval.Map2Vertex3 = state;
	move.b	d0,$22B6(a2)
;	 
	bra	L340
L263
;	 ctx->Eval.Map2Vertex4 = state;
	move.b	d0,$22B7(a2)
;	 
	bra	L340
L264
;	 ctx->Transform.Normalize = state;
	move.l	a2,a0
	add.l	#$E53D,a0
	move.b	d0,(a0)
;	 
	bra	L340
L265
;	 if (ctx->Point.SmoothFlag!=state) 
	move.l	a2,a0
	add.l	#$DDD0,a0
	move.b	(a0),d1
	cmp.b	d0,d1
	beq	L340
L266
;	    ctx->Point.SmoothFlag = state;
	move.l	a2,a0
	add.l	#$DDD0,a0
	move.b	d0,(a0)
;	    ctx->NewState |= NEW_RASTER_OPS;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#2,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L267
;	 
	bra	L340
L268
;	 if (ctx->Polygon.SmoothFlag!=state) 
	move.l	a2,a0
	add.l	#$DDEE,a0
	move.b	$16(a0),d1
	cmp.b	d0,d1
	beq	L340
L269
;	    ctx->Polygon.SmoothFlag = state;
	move.l	a2,a0
	add.l	#$DE04,a0
	move.b	d0,(a0)
;	    ctx->NewState |= NEW_RASTER_OPS;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#2,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L270
;	 
	bra	L340
L271
;	 if (ctx->Polygon.StippleFlag!=state) 
	move.l	a2,a0
	add.l	#$DDEE,a0
	move.b	$17(a0),d1
	cmp.b	d0,d1
	beq	L340
L272
;	    ctx->Polygon.StippleFlag = state;
	move.l	a2,a0
	add.l	#$DE05,a0
	move.b	d0,(a0)
;	    ctx->NewState |= NEW_RASTER_OPS;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#2,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L273
;	 
	bra	L340
L274
;	 if (ctx->Polygon.OffsetPoint!=state) 
	move.l	a2,a0
	add.l	#$DDEE,a0
	move.b	$20(a0),d1
	cmp.b	d0,d1
	beq	L340
L275
;	    ctx->Polygon.OffsetPoint = state;
	move.l	a2,a0
	add.l	#$DE0E,a0
	move.b	d0,(a0)
;	    ctx->NewState |= NEW_POLYGON;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#$8,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L276
;	 
	bra	L340
L277
;	 if (ctx->Polygon.OffsetLine!=state) 
	move.l	a2,a0
	add.l	#$DDEE,a0
	move.b	$21(a0),d1
	cmp.b	d0,d1
	beq	L340
L278
;	    ctx->Polygon.OffsetLine = state;
	move.l	a2,a0
	add.l	#$DE0F,a0
	move.b	d0,(a0)
;	    ctx->NewState |= NEW_POLYGON;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#$8,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L279
;	 
	bra	L340
L280
;	 if (ctx->Polygon.OffsetFill!=state) 
	move.l	a2,a0
	add.l	#$DDEE,a0
	move.b	$22(a0),d1
	cmp.b	d0,d1
	beq	L340
L281
;	    ctx->Polygon.OffsetFill = state;
	move.l	a2,a0
	add.l	#$DE10,a0
	move.b	d0,(a0)
;	    ctx->NewState |= NEW_POLYGON;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#$8,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L282
;	 
	bra	L340
L283
;	 ctx->Transform.RescaleNormals = state;
	move.l	a2,a0
	add.l	#$E53E,a0
	move.b	d0,(a0)
;	 
	bra	L340
L284
;	 if (ctx->Scissor.Enabled!=state) 
	move.l	a2,a0
	add.l	#$DE92,a0
	move.b	(a0),d1
	cmp.b	d0,d1
	beq	L340
L285
;	    ctx->Scissor.Enabled = state;
	move.l	a2,a0
	add.l	#$DE92,a0
	move.b	d0,(a0)
;	    ctx->NewState |= NEW_RASTER_OPS;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#2,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L286
;	 
	bra	L340
L287
;	 ctx->Texture.SharedPalette = state;
	move.l	a2,a0
	add.l	#$E04C,a0
	move.b	d0,(a0)
;	 if (ctx->Driver.UseGlobalTexturePalette)
	tst.l	$9E0(a2)
	beq	L340
L288
;	    (*ctx->Driver.UseGlobalTexturePalette)( ctx, state );
	move.b	d0,-(a7)
	move.l	a2,-(a7)
	move.l	$9E0(a2),a0
	jsr	(a0)
	addq.w	#6,a7
L289
;	 
	bra	L340
L290
;	 if (state && ctx->Visual->StencilBits==0) 
	tst.b	d0
	beq.b	L293
L291
	move.l	$8F8(a2),a0
	tst.l	$20(a0)
	bne.b	L293
L292
;	    gl_warning(ctx, "glEnable(GL_STENCIL_TEST) but no stencil 
	move.l	#L184,-(a7)
	move.l	a2,-(a7)
	jsr	_gl_warning
	addq.w	#$8,a7
	movem.l	(a7)+,d2/d3/a2
	unlk	a5
	rts
L293
;	 if (ctx->Stencil.Enabled!=state) 
	move.l	a2,a0
	add.l	#$DEA4,a0
	move.b	(a0),d1
	cmp.b	d0,d1
	beq	L340
L294
;	    ctx->Stencil.Enabled = state;
	move.l	a2,a0
	add.l	#$DEA4,a0
	move.b	d0,(a0)
;	    ctx->NewState |= NEW_RASTER_OPS;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#2,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L295
;	 
	bra	L340
L296
;	 if (ctx->Visual->RGBAflag) 
	move.l	$8F8(a2),a0
	tst.b	(a0)
	beq	L340
L297
;	    GLuint bit = TEXTURE0_1D << (ctx->Texture.CurrentSet * 4);
	move.l	a2,a0
	add.l	#$DEBA,a0
	move.l	(a0),d1
	moveq	#2,d2
	asl.l	d2,d1
	moveq	#1,d2
	asl.l	d1,d2
	move.l	d2,d1
;	    if (state) 
	tst.b	d0
	beq.b	L299
L298
;	       ctx->Texture.Enabled |= bit;
	move.l	a2,a0
	add.l	#$DEC2,a0
	move.l	(a0),d0
	or.l	d1,d0
	move.l	a2,a0
	add.l	#$DEC2,a0
	move.l	d0,(a0)
	bra.b	L300
L299
;	       ctx->Texture.Enabled &= (~bit);
	not.l	d1
	move.l	a2,a0
	add.l	#$DEC2,a0
	move.l	(a0),d0
	and.l	d1,d0
	move.l	a2,a0
	add.l	#$DEC2,a0
	move.l	d0,(a0)
L300
;	    ctx->NewState |= (NEW_RASTER_OPS | NEW_TEXTURING);
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#6,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L301
;	 
	bra	L340
L302
;	 if (ctx->Visual->RGBAflag) 
	move.l	$8F8(a2),a0
	tst.b	(a0)
	beq	L340
L303
;	    GLuint bit = TEXTURE0_2D << (ctx->Texture.CurrentSet * 4);
	move.l	a2,a0
	add.l	#$DEBA,a0
	move.l	(a0),d1
	moveq	#2,d2
	asl.l	d2,d1
	moveq	#2,d2
	asl.l	d1,d2
	move.l	d2,d1
;	    if (state) 
	tst.b	d0
	beq.b	L305
L304
;	       ctx->Texture.Enabled |= bit;
	move.l	a2,a0
	add.l	#$DEC2,a0
	move.l	(a0),d0
	or.l	d1,d0
	move.l	a2,a0
	add.l	#$DEC2,a0
	move.l	d0,(a0)
	bra.b	L306
L305
;	       ctx->Texture.Enabled &= (~bit);
	not.l	d1
	move.l	a2,a0
	add.l	#$DEC2,a0
	move.l	(a0),d0
	and.l	d1,d0
	move.l	a2,a0
	add.l	#$DEC2,a0
	move.l	d0,(a0)
L306
;	    ctx->NewState |= (NEW_RASTER_OPS | NEW_TEXTURING);
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#6,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L307
;	 
	bra	L340
L308
;	 if (ctx->Visual->RGBAflag) 
	move.l	$8F8(a2),a0
	tst.b	(a0)
	beq	L340
L309
;	    GLuint bit = TEXTURE0_3D << (ctx->Texture.CurrentSet * 4);
	move.l	a2,a0
	add.l	#$DEBA,a0
	move.l	(a0),d1
	moveq	#2,d2
	asl.l	d2,d1
	moveq	#4,d2
	asl.l	d1,d2
	move.l	d2,d1
;	    if (state) 
	tst.b	d0
	beq.b	L311
L310
;	       ctx->Texture.Enabled |= bit;
	move.l	a2,a0
	add.l	#$DEC2,a0
	move.l	(a0),d0
	or.l	d1,d0
	move.l	a2,a0
	add.l	#$DEC2,a0
	move.l	d0,(a0)
	bra.b	L312
L311
;	       ctx->Texture.Enabled &= (~bit);
	not.l	d1
	move.l	a2,a0
	add.l	#$DEC2,a0
	move.l	(a0),d0
	and.l	d1,d0
	move.l	a2,a0
	add.l	#$DEC2,a0
	move.l	d0,(a0)
L312
;	    ctx->NewState |= (NEW_RASTER_OPS | NEW_TEXTURING);
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#6,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
L313
;	 
	bra	L340
L314
;	 if (state) 
	tst.b	d0
	beq.b	L316
L315
;	    ctx->Texture.Set[texSet].TexGenEnabled |= Q_BIT;
	move.l	a2,a0
	add.l	#$DEC6,a0
	muls.l	#$BC,d1
	add.l	d1,a0
	or.l	#$8,$14(a0)
	bra.b	L317
L316
;	    ctx->Texture.Set[texSet].TexGenEnabled &= ~Q_BIT;
	move.l	a2,a0
	add.l	#$DEC6,a0
	muls.l	#$BC,d1
	add.l	d1,a0
	and.l	#-$9,$14(a0)
L317
;	 ctx->NewState |= NEW_TEXTURING;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#4,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
;	 
	bra	L340
L318
;	 if (state) 
	tst.b	d0
	beq.b	L320
L319
;	    ctx->Texture.Set[texSet].TexGenEnabled |= R_BIT;
	move.l	a2,a0
	add.l	#$DEC6,a0
	muls.l	#$BC,d1
	add.l	d1,a0
	or.l	#4,$14(a0)
	bra.b	L321
L320
;	    ctx->Texture.Set[texSet].TexGenEnabled &= ~R_BIT;
	move.l	a2,a0
	add.l	#$DEC6,a0
	muls.l	#$BC,d1
	add.l	d1,a0
	and.l	#-5,$14(a0)
L321
;	 ctx->NewState |= NEW_TEXTURING;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#4,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
;	 
	bra	L340
L322
;	 if (state) 
	tst.b	d0
	beq	L324
L323
;	    ctx->Texture.Set[texSet].TexGenEnabled |= S_BIT;
	move.l	a2,a0
	add.l	#$DEC6,a0
	muls.l	#$BC,d1
	add.l	d1,a0
	or.l	#1,$14(a0)
	bra.b	L325
L324
;	    ctx->Texture.Set[texSet].TexGenEnabled &= ~S_BIT;
	move.l	a2,a0
	add.l	#$DEC6,a0
	muls.l	#$BC,d1
	add.l	d1,a0
	and.l	#-2,$14(a0)
L325
;	 ctx->NewState |= NEW_TEXTURING;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#4,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
;	 
	bra	L340
L326
;	 if (state) 
	tst.b	d0
	beq	L328
L327
;	    ctx->Texture.Set[texSet].TexGenEnabled |= T_BIT;
	move.l	a2,a0
	add.l	#$DEC6,a0
	muls.l	#$BC,d1
	add.l	d1,a0
	or.l	#2,$14(a0)
	bra	L329
L328
;	    ctx->Texture.Set[texSet].TexGenEnabled &= ~T_BIT;
	move.l	a2,a0
	add.l	#$DEC6,a0
	muls.l	#$BC,d1
	add.l	d1,a0
	and.l	#-3,$14(a0)
L329
;	 ctx->NewState |= NEW_TEXTURING;
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	(a0),d0
	or.l	#4,d0
	move.l	a2,a0
	add.l	#$E960,a0
	move.l	d0,(a0)
;	 
	bra	L340
L330
;	 ctx->Array.VertexEnabled = state;
	move.l	a2,a0
	add.l	#$E5CC,a0
	move.b	d0,(a0)
;	 
	bra	L340
L331
;	 ctx->Array.NormalEnabled = state;
	move.l	a2,a0
	add.l	#$E5DE,a0
	move.b	d0,(a0)
;	 
	bra	L340
L332
;	 ctx->Array.ColorEnabled = state;
	move.l	a2,a0
	add.l	#$E5F4,a0
	move.b	d0,(a0)
;	 
	bra	L340
L333
;	 ctx->Array.IndexEnabled = state;
	move.l	a2,a0
	add.l	#$E606,a0
	move.b	d0,(a0)
;	 
	bra	L340
L334
;	 ctx->Array.TexCoordEnabled[texSet] = state;
	move.l	a2,a0
	add.l	#$E630,a0
	move.b	d0,0(a0,d1.l)
;	 
	bra	L340
L335
;	 ctx->Array.EdgeFlagEnabled = state;
	move.l	a2,a0
	add.l	#$E642,a0
	move.b	d0,(a0)
;	 
	bra	L340
L336
;	 if (state) 
	tst.b	d0
	beq	L338
L337
;	    gl_error( ctx, GL_INVALID_ENUM, "glEnable" );
	move.l	#L181,-(a7)
	pea	$500.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	bra.b	L340
L338
;	    gl_error( ctx, GL_INVALID_ENUM, "glDisable" );
	move.l	#L182,-(a7)
	pea	$500.w
	move.l	a2,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L339
;	 
L340
	movem.l	(a7)+,d2/d3/a2
	unlk	a5
	rts

L182
	dc.b	'glDisable',0
L181
	dc.b	'glEnable',0
L183
	dc.b	'glEnable(GL_DEPTH_TEST) but no depth buffer',0
L184
	dc.b	'glEnable(GL_STENCIL_TEST) but no stencil buffer',0

	SECTION "_gl_Enable:0",CODE

	rts

;void gl_Enable( GLcontext* ctx, GLenum cap )
	XDEF	_gl_Enable
_gl_Enable
	move.l	$8(a7),d0
	move.l	4(a7),a0
L373
;   gl_enable( ctx, cap, GL_TRUE );
	move.b	#1,-(a7)
	move.l	d0,-(a7)
	move.l	a0,-(a7)
	jsr	_gl_enable
	add.w	#$A,a7
	rts

	SECTION "_gl_Disable:0",CODE


;void gl_Disable( GLcontext* ctx, GLenum cap )
	XDEF	_gl_Disable
_gl_Disable
	move.l	$8(a7),d0
	move.l	4(a7),a0
L374
;   gl_enable( ctx, cap, GL_FALSE );
	clr.b	-(a7)
	move.l	d0,-(a7)
	move.l	a0,-(a7)
	jsr	_gl_enable
	add.w	#$A,a7
	rts

	SECTION "_gl_IsEnabled:0",CODE


;GLboolean gl_IsEnabled( GLcontext* ctx, GLenum cap )
	XDEF	_gl_IsEnabled
_gl_IsEnabled
	move.l	$8(a7),d0
	move.l	4(a7),a0
L376
;   switch (cap)
	move.l	d0,d1
	cmp.l	#$DB2,d1
	beq	L403
	bgt	L456
	cmp.l	#$C11,d1
	beq	L418
	bgt	L457
	cmp.l	#$B60,d1
	beq	L385
	bgt.b	L458
	cmp.l	#$B42,d1
	beq	L413
	bgt.b	L459
	cmp.l	#$B24,d1
	beq	L389
	bgt.b	L460
	cmp.l	#$B10,d1
	beq	L411
	cmp.l	#$B20,d1
	beq	L388
	bra	L455
L460
	cmp.l	#$B41,d1
	beq	L412
	bra	L455
L459
	cmp.l	#$B50,d1
	beq	L386
	bgt.b	L461
	cmp.l	#$B44,d1
	beq	L382
	bra	L455
L461
	cmp.l	#$B57,d1
	beq	L381
	bra	L455
L458
	cmp.l	#$BD0,d1
	beq	L384
	bgt.b	L462
	cmp.l	#$BA1,d1
	beq	L410
	bgt.b	L463
	cmp.l	#$B71,d1
	beq	L383
	cmp.l	#$B90,d1
	beq	L420
	bra	L455
L463
	cmp.l	#$BC0,d1
	beq	L377
	bra	L455
L462
	cmp.l	#$BF1,d1
	beq	L390
	bgt.b	L464
	cmp.l	#$BE2,d1
	beq	L379
	bra	L455
L464
	cmp.l	#$BF2,d1
	beq	L391
	bra	L455
L457
	cmp.l	#$D93,d1
	beq	L395
	bgt.b	L465
	cmp.l	#$D80,d1
	beq	L378
	bgt.b	L466
	cmp.l	#$C62,d1
	beq	L437
	bgt.b	L467
	cmp.l	#$C60,d1
	beq	L441
	cmp.l	#$C61,d1
	beq	L445
	bra	L455
L467
	cmp.l	#$C63,d1
	beq	L433
	bra	L455
L466
	cmp.l	#$D91,d1
	beq	L393
	bgt.b	L468
	cmp.l	#$D90,d1
	beq	L392
	bra	L455
L468
	bgt	L394
L465
	cmp.l	#$D97,d1
	beq	L399
	bgt.b	L469
	cmp.l	#$D95,d1
	beq	L397
	bgt.b	L470
	blt	L396
L470
	bgt	L398
L469
	cmp.l	#$DB0,d1
	beq	L401
	bgt.b	L471
	cmp.l	#$D98,d1
	beq	L400
	bra	L455
L471
	bgt	L402
L456
	cmp.l	#$4001,d1
	beq	L387
	bgt	L472
	cmp.l	#$2A01,d1
	beq	L414
	bgt.b	L473
	cmp.l	#$DB7,d1
	beq	L408
	bgt.b	L474
	cmp.l	#$DB5,d1
	beq	L406
	bgt.b	L475
	cmp.l	#$DB3,d1
	beq	L404
	cmp.l	#$DB4,d1
	beq	L405
	bra	L455
L475
	bgt	L407
L474
	cmp.l	#$DE0,d1
	beq	L421
	bgt.b	L476
	cmp.l	#$DB8,d1
	beq	L409
	bra	L455
L476
	cmp.l	#$DE1,d1
	beq	L425
	bra	L455
L473
	cmp.l	#$3003,d1
	beq	L380
	bgt.b	L477
	cmp.l	#$3001,d1
	beq	L380
	bgt.b	L478
	cmp.l	#$2A02,d1
	beq	L415
	cmp.l	#$3000,d1
	beq	L380
	bra	L455
L478
	bgt	L380
L477
	cmp.l	#$3005,d1
	beq	L380
	bgt.b	L479
	blt	L380
L479
	cmp.l	#$4000,d1
	beq	L387
	bra	L455
L472
	cmp.l	#$806F,d1
	beq	L429
	bgt.b	L480
	cmp.l	#$4006,d1
	beq	L387
	bgt.b	L481
	cmp.l	#$4004,d1
	beq	L387
	bgt.b	L482
	cmp.l	#$4002,d1
	beq	L387
	cmp.l	#$4003,d1
	beq	L387
	bra	L455
L482
	bgt	L387
L481
	cmp.l	#$8037,d1
	beq	L416
	bgt.b	L483
	cmp.l	#$4007,d1
	beq	L387
	bra	L455
L483
	cmp.l	#$803A,d1
	beq	L417
	bra	L455
L480
	cmp.l	#$8077,d1
	beq	L452
	bgt.b	L484
	cmp.l	#$8075,d1
	beq	L450
	bgt.b	L485
	cmp.l	#$8074,d1
	beq	L449
	bra	L455
L485
	bgt	L451
L484
	cmp.l	#$8079,d1
	beq	L454
	bgt.b	L486
	blt	L453
L486
	cmp.l	#$81FB,d1
	beq	L419
	bra	L455
;      
L377
	move.b	$21E6(a0),d0
	rts
L378
	move.b	$22B8(a0),d0
	rts
L379
	move.b	$21ED(a0),d0
	rts
L380
	add.l	#$E536,a0
	lea	-$3000(a0),a0
	move.b	0(a0,d0.l),d0
	rts
L381
	add.w	#$2318,a0
	add.l	#$8E18,a0
	move.b	(a0),d0
	rts
L382
	add.l	#$DDEE,a0
	move.b	$D(a0),d0
	rts
L383
	move.b	$22A4(a0),d0
	rts
L384
	move.b	$2215(a0),d0
	rts
L385
	move.b	$22DE(a0),d0
	rts
L386
	add.w	#$2318,a0
	add.l	#$8E06,a0
	move.b	(a0),d0
	rts
L387
	lea	$2318(a0),a0
	sub.l	#$4388000,a0
	muls.l	#$10E2,d0
	move.b	$68(a0,d0.l),d0
	rts
L388
	add.l	#$B158,a0
	move.b	(a0),d0
	rts
L389
	add.l	#$B158,a0
	move.b	1(a0),d0
	rts
L390
	move.b	$2212(a0),d0
	rts
L391
	move.b	$2213(a0),d0
	rts
L392
	move.b	$22A6(a0),d0
	rts
L393
	move.b	$22A7(a0),d0
	rts
L394
	move.b	$22A8(a0),d0
	rts
L395
	move.b	$22A9(a0),d0
	rts
L396
	move.b	$22AA(a0),d0
	rts
L397
	move.b	$22AB(a0),d0
	rts
L398
	move.b	$22AC(a0),d0
	rts
L399
	move.b	$22AD(a0),d0
	rts
L400
	move.b	$22AE(a0),d0
	rts
L401
	move.b	$22AF(a0),d0
	rts
L402
	move.b	$22B0(a0),d0
	rts
L403
	move.b	$22B1(a0),d0
	rts
L404
	move.b	$22B2(a0),d0
	rts
L405
	move.b	$22B3(a0),d0
	rts
L406
	move.b	$22B4(a0),d0
	rts
L407
	move.b	$22B5(a0),d0
	rts
L408
	move.b	$22B6(a0),d0
	rts
L409
	move.b	$22B7(a0),d0
	rts
L410
	add.l	#$E4D2,a0
	move.b	$6B(a0),d0
	rts
L411
	add.l	#$DDD0,a0
	move.b	(a0),d0
	rts
L412
	add.l	#$DDEE,a0
	move.b	$16(a0),d0
	rts
L413
	add.l	#$DDEE,a0
	move.b	$17(a0),d0
	rts
L414
	add.l	#$DDEE,a0
	move.b	$20(a0),d0
	rts
L415
	add.l	#$DDEE,a0
	move.b	$21(a0),d0
	rts
L416
	add.l	#$DDEE,a0
	move.b	$22(a0),d0
	rts
L417
	add.l	#$E4D2,a0
	move.b	$6C(a0),d0
	rts
L418
	add.l	#$DE92,a0
	move.b	(a0),d0
	rts
L419
	add.l	#$DEBA,a0
	move.b	$192(a0),d0
	rts
L420
	add.l	#$DEA4,a0
	move.b	(a0),d0
	rts
L421
;	    GLuint bit = TEXTURE0_1D << (ctx->Texture.CurrentSet * 4);
	move.l	a0,a1
	add.l	#$DEBA,a1
	move.l	(a1),d0
	moveq	#2,d1
	asl.l	d1,d0
	moveq	#1,d1
	asl.l	d0,d1
	add.l	#$DEBA,a0
	move.l	$8(a0),d0
	and.l	d1,d0
	beq.b	L423
L422
	moveq	#1,d0
	bra.b	L424
L423
	moveq	#0,d0
L424
	rts
L425
;	    GLuint bit = TEXTURE0_1D << (ctx->Texture.CurrentSet * 4);
	move.l	a0,a1
	add.l	#$DEBA,a1
	move.l	(a1),d0
	moveq	#2,d1
	asl.l	d1,d0
	moveq	#1,d1
	asl.l	d0,d1
	add.l	#$DEBA,a0
	move.l	$8(a0),d0
	and.l	d1,d0
	beq.b	L427
L426
	moveq	#1,d0
	bra.b	L428
L427
	moveq	#0,d0
L428
	rts
L429
;	    GLuint bit = TEXTURE0_1D << (ctx->Texture.CurrentSet * 4);
	move.l	a0,a1
	add.l	#$DEBA,a1
	move.l	(a1),d0
	moveq	#2,d1
	asl.l	d1,d0
	moveq	#1,d1
	asl.l	d0,d1
	add.l	#$DEBA,a0
	move.l	$8(a0),d0
	and.l	d1,d0
	beq.b	L431
L430
	moveq	#1,d0
	bra.b	L432
L431
	moveq	#0,d0
L432
	rts
L433
;	    const struct gl_texture_set *texSet = &ctx->Texture.Set[ct
	move.l	a0,a1
	add.l	#$DEC6,a1
	add.l	#$DEBA,a0
	move.l	(a0),d0
	muls.l	#$BC,d0
	move.l	$14(a1,d0.l),d0
	and.l	#$8,d0
	beq.b	L435
L434
	moveq	#1,d0
	bra.b	L436
L435
	moveq	#0,d0
L436
	rts
L437
;	    const struct gl_texture_set *texSet = &ctx->Texture.Set[ct
	move.l	a0,a1
	add.l	#$DEC6,a1
	add.l	#$DEBA,a0
	move.l	(a0),d0
	muls.l	#$BC,d0
	move.l	$14(a1,d0.l),d0
	and.l	#4,d0
	beq.b	L439
L438
	moveq	#1,d0
	bra.b	L440
L439
	moveq	#0,d0
L440
	rts
L441
;	    const struct gl_texture_set *texSet = &ctx->Texture.Set[ct
	move.l	a0,a1
	add.l	#$DEC6,a1
	add.l	#$DEBA,a0
	move.l	(a0),d0
	muls.l	#$BC,d0
	move.l	$14(a1,d0.l),d0
	and.l	#1,d0
	beq.b	L443
L442
	moveq	#1,d0
	bra.b	L444
L443
	moveq	#0,d0
L444
	rts
L445
;	    const struct gl_texture_set *texSet = &ctx->Texture.Set[ct
	move.l	a0,a1
	add.l	#$DEC6,a1
	add.l	#$DEBA,a0
	move.l	(a0),d0
	muls.l	#$BC,d0
	move.l	$14(a1,d0.l),d0
	and.l	#2,d0
	beq.b	L447
L446
	moveq	#1,d0
	bra.b	L448
L447
	moveq	#0,d0
L448
	rts
L449
	add.l	#$E5B8,a0
	move.b	$14(a0),d0
	rts
L450
	add.l	#$E5B8,a0
	move.b	$26(a0),d0
	rts
L451
	add.l	#$E5B8,a0
	move.b	$3C(a0),d0
	rts
L452
	add.l	#$E5B8,a0
	move.b	$4E(a0),d0
	rts
L453
;	    GLuint texSet = ctx->Texture.CurrentSet;
	move.l	a0,a1
	add.l	#$DEBA,a1
	add.l	#$E630,a0
	move.l	(a1),d0
	move.b	0(a0,d0.l),d0
	rts
L454
	add.l	#$E5B8,a0
	move.b	$8A(a0),d0
	rts
L455
;	 gl_error( ctx, GL_INVALID_ENUM, "glIsEnabled" );
	move.l	#L375,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	moveq	#0,d0
	rts

L375
	dc.b	'glIsEnabled',0

	SECTION "_gl_client_state:0",CODE


;void gl_client_state( GLcontext *ctx, GLenum cap, GLboolean state )
	XDEF	_gl_client_state
_gl_client_state
	move.l	d2,-(a7)
	move.b	$10(a7),d0
	move.l	$C(a7),d1
	move.l	$8(a7),a0
L488
;   switch (cap)
	sub.l	#$8074,d1
	cmp.l	#5,d1
	bhi.b	L495
	move.l	L497(pc,d1.l*4),a1
	jmp	(a1)
L497
	dc.l	L489
	dc.l	L490
	dc.l	L491
	dc.l	L492
	dc.l	L493
	dc.l	L494
;      
L489
;	 ctx->Array.VertexEnabled = state;
	add.l	#$E5CC,a0
	move.b	d0,(a0)
;	 
	bra.b	L496
L490
;	 ctx->Array.NormalEnabled = state;
	add.l	#$E5DE,a0
	move.b	d0,(a0)
;	 
	bra.b	L496
L491
;	 ctx->Array.ColorEnabled = state;
	add.l	#$E5F4,a0
	move.b	d0,(a0)
;	 
	bra.b	L496
L492
;	 ctx->Array.IndexEnabled = state;
	add.l	#$E606,a0
	move.b	d0,(a0)
;	 
	bra.b	L496
L493
;	    GLuint texSet = ctx->Texture.CurrentSet;
	move.l	a0,a1
	add.l	#$DEBA,a1
;	    ctx->Array.TexCoordEnabled[texSet] = state;
	add.l	#$E630,a0
	move.l	(a1),d1
	move.b	d0,0(a0,d1.l)
;	 
	bra.b	L496
L494
;	 ctx->Array.EdgeFlagEnabled = state;
	add.l	#$E642,a0
	move.b	d0,(a0)
;	 
	bra.b	L496
L495
;	 gl_error( ctx, GL_INVALID_ENUM, "glEnable/DisableClientState" );
	move.l	#L487,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
L496
	move.l	(a7)+,d2
	rts

L487
	dc.b	'glEnable/DisableClientState',0

	SECTION "_gl_EnableClientState:0",CODE


;void gl_EnableClientState( GLcontext *ctx, GLenum cap )
	XDEF	_gl_EnableClientState
_gl_EnableClientState
	move.l	$8(a7),d0
	move.l	4(a7),a0
L498
;   gl_client_state( ctx, cap, GL_TRUE );
	move.b	#1,-(a7)
	move.l	d0,-(a7)
	move.l	a0,-(a7)
	jsr	_gl_client_state
	add.w	#$A,a7
	rts

	SECTION "_gl_DisableClientState:0",CODE


;void gl_DisableClientState( GLcontext *ctx, GLenum cap )
	XDEF	_gl_DisableClientState
_gl_DisableClientState
	move.l	$8(a7),d0
	move.l	4(a7),a0
L499
;   gl_client_state( ctx, cap, GL_FALSE );
	clr.b	-(a7)
	move.l	d0,-(a7)
	move.l	a0,-(a7)
	jsr	_gl_client_state
	add.w	#$A,a7
	rts

	END
