
; Storm C Compiler
; Work2:Mesa3/Mesa-3.0/src/points.c
	mc68030
	mc68881
	XREF	_gl_flush_pb
	XREF	_gl_update_hitflag
	XREF	_gl_feedback_vertex
	XREF	_gl_error
	XREF	_sqrt__r
	XREF	_CC

	SECTION "_gl_PointSize:0",CODE


;void gl_PointSize( GLcontext *ctx, GLfloat size )
	XDEF	_gl_PointSize
_gl_PointSize
	move.l	4(a7),a0
	fmove.s	$8(a7),fp1
L207
;   if (size<=0.0) 
	fmove.x	fp1,fp0
	fcmp.d	#$.00000000.00000000,fp0
	fbogt.b	L209
L208
;      gl_error( ctx, GL_INVALID_VALUE, "glPointSize" );
	move.l	#L206,-(a7)
	pea	$501.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	rts
L209
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a0,a1
	add.l	#$E968,a1
	move.l	(a1),d0
	cmp.l	#$1A00,d0
	beq.b	L211
L210
;      gl_error( ctx, GL_INVALID_OPERATION, "glPointSize" );
	move.l	#L206,-(a7)
	pea	$502.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	rts
L211
;   ctx->Point.Size = size;
	move.l	a0,a1
	add.l	#$DDD2,a1
	fmove.s	fp1,(a1)
;   ctx->NewState |= NEW_RASTER_OPS;
	move.l	a0,a1
	add.l	#$E960,a1
	move.l	(a1),d0
	or.l	#2,d0
	add.l	#$E960,a0
	move.l	d0,(a0)
	rts

L206
	dc.b	'glPointSize',0

	SECTION "_gl_PointParameterfvEXT:0",CODE

	rts

;void gl_PointParameterfvEXT( GLcontext *ctx, GLenum pname,
	XDEF	_gl_PointParameterfvEXT
_gl_PointParameterfvEXT
	move.l	a2,-(a7)
	movem.l	$C(a7),d0/a1
	move.l	$8(a7),a0
L213
;   if (INSIDE_BEGIN_END(ctx)) 
	move.l	a0,a2
	add.l	#$E968,a2
	move.l	(a2),d1
	cmp.l	#$1A00,d1
	beq.b	L215
L214
;      gl_error( ctx, GL_INVALID_OPERATION, "glPointParameterfv
	move.l	#L212,-(a7)
	pea	$502.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	move.l	(a7)+,a2
	rts
L215
;   if(pname==GL_DISTANCE_ATTENUATION_EXT) 
	cmp.l	#$8129,d0
	bne.b	L217
L216
;         COPY_3V(ctx->Point
	move.l	a0,a2
	add.l	#$DDD6,a2
	move.l	(a1),(a2)
;         COPY_3V(ctx->Point
	move.l	a0,a2
	add.l	#$DDD6,a2
	move.l	4(a1),4(a2)
;         COPY_3V(ctx->Point
	fmove.s	$8(a1),fp0
	move.l	a0,a1
	add.l	#$DDD6,a1
	fmove.s	fp0,$8(a1)
	bra	L224
L217
;        if (*params<0.0 ) 
	fmove.s	(a1),fp0
	fcmp.d	#$.00000000.00000000,fp0
	fboge.b	L219
L218
;            gl_error( ctx, GL_INVALID_VALUE, "glPointPar
	move.l	#L212,-(a7)
	pea	$501.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	move.l	(a7)+,a2
	rts
L219
;        switch (pname)
	cmp.l	#$8127,d0
	beq.b	L221
	bgt.b	L225
	cmp.l	#$8126,d0
	beq.b	L220
	bra.b	L223
L225
	cmp.l	#$8128,d0
	beq.b	L222
	bra.b	L223
;            
L220
;                ctx->Point.MinSize=*params;
	fmove.s	(a1),fp0
	move.l	a0,a1
	add.l	#$DDE2,a1
	fmove.s	fp0,(a1)
;                
	bra.b	L224
L221
;                ctx->Point.MaxSize=*params;
	fmove.s	(a1),fp0
	move.l	a0,a1
	add.l	#$DDE6,a1
	fmove.s	fp0,(a1)
;                
	bra.b	L224
L222
;                ctx->Point.Threshold=*params;
	fmove.s	(a1),fp0
	move.l	a0,a1
	add.l	#$DDEA,a1
	fmove.s	fp0,(a1)
;                
	bra.b	L224
L223
;                gl_error( ctx, GL_INVALID_ENUM, "glP
	move.l	#L212,-(a7)
	pea	$500.w
	move.l	a0,-(a7)
	jsr	_gl_error
	add.w	#$C,a7
	move.l	(a7)+,a2
	rts
L224
;   ctx->NewState |= NEW_RASTER_OPS;
	move.l	a0,a1
	add.l	#$E960,a1
	move.l	(a1),d0
	or.l	#2,d0
	add.l	#$E960,a0
	move.l	d0,(a0)
	move.l	(a7)+,a2
	rts

L212
	dc.b	'glPointParameterfvEXT',0

	SECTION "_feedback_points:0",CODE


;static void feedback_points( GLcontext *ctx, GLuint first, GLuint la
_feedback_points
L234	EQU	-$40
	link	a5,#L234
	movem.l	d2-d4/a2-a4,-(a7)
	fmovem.x fp2/fp3/fp4/fp5/fp6,-(a7)
	movem.l	$C(a5),d0/d4
	move.l	$8(a5),a4
L226
;   struct vertex_buffer *VB = ctx->VB;
	move.l	a4,a0
	add.l	#$E994,a0
	move.l	(a0),a2
;   GLuint texSet = ctx->Texture.CurrentTransformSet;
	move.l	a4,a0
	add.l	#$DEBA,a0
	move.l	4(a0),d3
;   for (i=first;
	move.l	d0,d2
	bra	L232
L227
;      if (VB->ClipMask[i]==0) 
	move.l	a2,a0
	add.l	#$FE08,a0
	tst.b	0(a0,d2.l)
	bne	L231
L228
;         x = VB->Win[i][0];
	lea	$5E80(a2),a0
	move.l	d2,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp5
;         y = VB->Win[i][1];
	lea	$5E80(a2),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp4
;         z = VB->Win[i][2] / DEPTH_SCALE;
	lea	$5E80(a2),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp2
	fdiv.s	#$.477FFF00,fp2
;         w = VB->Clip[i][3];
	lea	$3F00(a2),a0
	move.l	d2,d0
	asl.l	#4,d0
	lea	0(a0,d0.l),a0
	fmove.s	$C(a0),fp3
;         color[0] = VB->Color[i][0] * (1.0F / 255.0F);
	move.l	a2,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	moveq	#0,d0
	move.b	0(a0,d2.l*4),d0
	fmove.l	d0,fp0
	fmul.s	#$.3B808080,fp0
	fmove.s	fp0,-$30(a5)
;         color[1] = VB->Color[i][1] * (1.0F / 255.0F);
	move.l	a2,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d0
	move.b	1(a0),d0
	fmove.l	d0,fp0
	fmul.s	#$.3B808080,fp0
	lea	-$30(a5),a0
	fmove.s	fp0,4(a0)
;         color[2] = VB->Color[i][2] * (1.0F / 255.0F);
	move.l	a2,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d0
	move.b	2(a0),d0
	fmove.l	d0,fp0
	fmul.s	#$.3B808080,fp0
	lea	-$30(a5),a0
	fmove.s	fp0,$8(a0)
;         color[3] = VB->Color[i][3] * (1.0F / 255.0F);
	move.l	a2,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d0
	move.b	3(a0),d0
	fmove.l	d0,fp0
	fmul.s	#$.3B808080,fp0
	lea	-$30(a5),a0
	fmove.s	fp0,$C(a0)
;         invq = 1.0F / VB->MultiTexCoord[texSet][i][3];
	move.l	a2,a0
	add.l	#$BF08,a0
	move.l	d3,d0
	muls.l	#$1F80,d0
	lea	0(a0,d0.l),a0
	move.l	d2,d0
	asl.l	#4,d0
	lea	0(a0,d0.l),a0
	fmove.s	#$.3F800000,fp1
	fdiv.s	$C(a0),fp1
;         texcoord[0] = VB->MultiTexCoord[texSet][i][0] * in
	move.l	a2,a0
	add.l	#$BF08,a0
	move.l	d3,d0
	muls.l	#$1F80,d0
	lea	0(a0,d0.l),a0
	move.l	d2,d0
	asl.l	#4,d0
	fmove.s	0(a0,d0.l),fp0
	fmul.x	fp1,fp0
	fmove.s	fp0,-$40(a5)
;         texcoord[1] = VB->MultiTexCoord[texSet][i][1] * in
	move.l	a2,a0
	add.l	#$BF08,a0
	move.l	d3,d0
	muls.l	#$1F80,d0
	lea	0(a0,d0.l),a0
	move.l	d2,d0
	asl.l	#4,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp0
	fmul.x	fp1,fp0
	lea	-$40(a5),a0
	fmove.s	fp0,4(a0)
;         texcoord[2] = VB->MultiTexCoord[texSet][i][2] * in
	move.l	a2,a0
	add.l	#$BF08,a0
	move.l	d3,d0
	muls.l	#$1F80,d0
	lea	0(a0,d0.l),a0
	move.l	d2,d0
	asl.l	#4,d0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp0
	fmul.x	fp1,fp0
	lea	-$40(a5),a0
	fmove.s	fp0,$8(a0)
;         texcoord[3] = VB->MultiTexCoord[texSet][i][3];
	move.l	a2,a0
	add.l	#$BF08,a0
	move.l	d3,d0
	muls.l	#$1F80,d0
	lea	0(a0,d0.l),a0
	move.l	d2,d0
	asl.l	#4,d0
	lea	0(a0,d0.l),a0
	fmove.s	$C(a0),fp0
	lea	-$40(a5),a0
	fmove.s	fp0,$C(a0)
;DBACK_TOKEN( ctx,
	move.l	a4,a0
	add.l	#$E828,a0
	move.l	$10(a0),d1
	move.l	a4,a0
	add.l	#$E828,a0
	cmp.l	$C(a0),d1
	bhs.b	L230
L229
;DBACK_TOKEN( ctx,
	move.l	a4,a0
	add.l	#$E828,a0
	move.l	$8(a0),a1
	move.l	a4,a0
	add.l	#$E828,a0
	move.l	$10(a0),d0
	move.l	#$44E02000,0(a1,d0.l*4)
L230
;DBACK_TOKEN( ctx,
	move.l	a4,a0
	add.l	#$E838,a0
	move.l	(a0),d0
	addq.l	#1,d0
	move.l	a4,a0
	add.l	#$E838,a0
	move.l	d0,(a0)
;         gl_feedback_vertex( ctx, x, y, z, w, color,
	pea	-$40(a5)
	move.l	a2,a1
	add.l	#$BD08,a1
	move.l	(a1),a0
	fmove.l	0(a0,d2.l*4),fp0
	fmove.s	fp0,-(a7)
	pea	-$30(a5)
	fmove.s	fp3,-(a7)
	fmove.s	fp2,-(a7)
	fmove.s	fp4,-(a7)
	fmove.s	fp5,-(a7)
	move.l	a4,-(a7)
	jsr	_gl_feedback_vertex
	add.w	#$20,a7
L231
	addq.l	#1,d2
L232
	cmp.l	d4,d2
	bls	L227
L233
	fmovem.x (a7)+,fp2/fp3/fp4/fp5/fp6
	movem.l	(a7)+,d2-d4/a2-a4
	unlk	a5
	rts

	SECTION "_select_points:0",CODE


;static void select_points( GLcontext *ctx, GLuint first, GLuint last
_select_points
	movem.l	d2/d3/a2/a3,-(a7)
	movem.l	$18(a7),d0/d3
	move.l	$14(a7),a3
L235
;   struct vertex_buffer *VB = ctx->VB;
	move.l	a3,a0
	add.l	#$E994,a0
	move.l	(a0),a2
;   for (i=first;
	move.l	d0,d2
	bra.b	L239
L236
;      if (VB->ClipMask[i]==0) 
	move.l	a2,a0
	add.l	#$FE08,a0
	tst.b	0(a0,d2.l)
	bne.b	L238
L237
;         gl_update_hitflag( ctx, VB->Win[i][2] / DEPTH_SCAL
	lea	$5E80(a2),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp0
	fdiv.s	#$.477FFF00,fp0
	fmove.s	fp0,-(a7)
	move.l	a3,-(a7)
	jsr	_gl_update_hitflag
	addq.w	#$8,a7
L238
	addq.l	#1,d2
L239
	cmp.l	d3,d2
	bls.b	L236
L240
	movem.l	(a7)+,d2/d3/a2/a3
	rts

	SECTION "_size1_ci_points:0",CODE


;void size1_ci_points( GLcontext *ctx, GLuint first, GLuint last )
	XDEF	_size1_ci_points
_size1_ci_points
L249	EQU	-$3C
	link	a5,#L249
	movem.l	d2/d3/a2-a4,-(a7)
	movem.l	$C(a5),d1/d3
L241
;   struct vertex_buffer *VB = ctx->VB;
	move.l	$8(a5),a0
	add.l	#$E994,a0
	move.l	(a0),a1
;   struct pixel_buffer *PB = ctx->PB;
	move.l	$8(a5),a0
	add.l	#$E998,a0
	move.l	(a0),a4
;   GLint *pbx = PB->x
	move.l	a4,-$10(a5)
;   GLint *pbx = PB->x, *pby = PB->y;
	move.l	#$4B00,d0
	add.l	a4,d0
	move.l	d0,-$14(a5)
;   GLdepth *pbz = PB->z;
	move.l	#$9600,d0
	add.l	a4,d0
	move.l	d0,-$18(a5)
;   GLuint *pbi = PB->i;
	move.l	#$10680,d0
	add.l	a4,d0
	move.l	d0,-$1C(a5)
;   GLuint pbcount = PB->count;
	move.l	a4,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
;   win = &VB->Win[first][0];
	lea	$5E80(a1),a0
	move.l	d1,d2
	muls.l	#$C,d2
	add.l	d2,a0
;   for (i=first;
	bra.b	L245
L242
;      if (VB->ClipMask[i]==0) 
	move.l	a1,a2
	add.l	#$FE08,a2
	tst.b	0(a2,d1.l)
	bne.b	L244
L243
;         pbx[pbcount] = (GLint)  win[0];
	fmove.s	(a0),fp0
	fmove.l	fp0,d2
	move.l	-$10(a5),a3
	move.l	d2,0(a3,d0.l*4)
;         pby[pbcount] = (GLint)  win[1];
	fmove.s	4(a0),fp0
	fmove.l	fp0,d2
	move.l	-$14(a5),a3
	move.l	d2,0(a3,d0.l*4)
;         pbz[pbcount] = (GLint) (win[2] + ctx->PointZoffset)
	move.l	$8(a5),a2
	add.l	#$E982,a2
	fmove.s	$8(a0),fp0
	fadd.s	(a2),fp0
	fmove.l	fp0,d2
	move.l	-$18(a5),a3
	move.w	d2,0(a3,d0.l*2)
;         pbi[pbcount] = VB->Index[i];
	move.l	a1,a3
	add.l	#$BD08,a3
	move.l	(a3),a2
	move.l	0(a2,d1.l*4),d2
	move.l	-$1C(a5),a3
	move.l	d2,0(a3,d0.l*4)
;         pbcount++;
	addq.l	#1,d0
L244
;      win += 3;
	add.w	#$C,a0
	addq.l	#1,d1
L245
	cmp.l	d3,d1
	bls.b	L242
L246
;   PB->count = pbcount;
	move.l	a4,a0
	add.l	#$27D94,a0
	move.l	d0,(a0)
;   PB_CHECK_FLUSH(ctx, PB)
	move.l	a4,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	cmp.l	#$C80,d0
	blo.b	L248
L247
;   PB_CHECK_FLUSH(ctx, PB)
	move.l	$8(a5),-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L248
	movem.l	(a7)+,d2/d3/a2-a4
	unlk	a5
	rts

	SECTION "_size1_rgba_points:0",CODE


;static void size1_rgba_points( GLcontext *ctx, GLuint first, GLuint 
_size1_rgba_points
L258	EQU	-$2C
	link	a5,#L258
	movem.l	d2-d7/a2-a4,-(a7)
	move.l	$C(a5),d0
	move.l	$8(a5),a4
L250
;   struct vertex_buffer *VB = ctx->VB;
	move.l	a4,a0
	add.l	#$E994,a0
	move.l	(a0),a1
;   struct pixel_buffer *PB = ctx->PB;
	move.l	a4,a2
	add.l	#$E998,a2
	move.l	(a2),a0
;   for (i=first;
	bra	L254
L251
;      if (VB->ClipMask[i]==0) 
	move.l	a1,a2
	add.l	#$FE08,a2
	tst.b	0(a2,d0.l)
	bne	L253
L252
;         x = (GLint)  VB->Win[i][0];
	lea	$5E80(a1),a2
	move.l	d0,d1
	muls.l	#$C,d1
	fmove.s	0(a2,d1.l),fp0
	fmove.l	fp0,d1
	move.l	d1,-$10(a5)
;         y = (GLint)  VB->Win[i][1];
	lea	$5E80(a1),a2
	move.l	d0,d1
	muls.l	#$C,d1
	lea	0(a2,d1.l),a2
	fmove.s	4(a2),fp0
	fmove.l	fp0,d1
	move.l	d1,d7
;         z = (GLint) (VB->Win[i][2] + ctx->PointZoffset);
	lea	$5E80(a1),a2
	move.l	d0,d1
	muls.l	#$C,d1
	lea	0(a2,d1.l),a2
	fmove.s	$8(a2),fp0
	move.l	a4,a2
	add.l	#$E982,a2
	fadd.s	(a2),fp0
	fmove.l	fp0,d2
;         red   = VB->Color[i][0];
	move.l	a1,a3
	add.l	#$9D80,a3
	move.l	(a3),a2
	moveq	#0,d6
	move.b	0(a2,d0.l*4),d6
;         green = VB->Color[i][1];
	move.l	a1,a3
	add.l	#$9D80,a3
	move.l	(a3),a2
	lea	0(a2,d0.l*4),a2
	moveq	#0,d5
	move.b	1(a2),d5
;         blue  = VB->Color[i][2];
	move.l	a1,a3
	add.l	#$9D80,a3
	move.l	(a3),a2
	lea	0(a2,d0.l*4),a2
	moveq	#0,d4
	move.b	2(a2),d4
;         alpha = VB->Color[i][3];
	move.l	a1,a3
	add.l	#$9D80,a3
	move.l	(a3),a2
	lea	0(a2,d0.l*4),a2
	moveq	#0,d3
	move.b	3(a2),d3
;E_RGBA_PIXEL( PB,
	move.l	a0,a2
	add.l	#$27D94,a2
	move.l	(a2),d1
	move.l	-$10(a5),0(a0,d1.l*4)
;E_RGBA_PIXEL( PB,
	move.l	a0,a3
	add.l	#$27D94,a3
	lea	$4B00(a0),a2
	move.l	(a3),d1
	move.l	d7,0(a2,d1.l*4)
;E_RGBA_PIXEL( PB,
	move.l	a0,a2
	add.l	#$9600,a2
	move.l	a0,a3
	add.l	#$27D94,a3
	move.l	(a3),d1
	move.w	d2,0(a2,d1.l*2)
;E_RGBA_PIXEL( PB,
	move.l	a0,a2
	add.l	#$BB80,a2
	move.l	a0,a3
	add.l	#$27D94,a3
	move.l	(a3),d1
	move.b	d6,0(a2,d1.l*4)
;E_RGBA_PIXEL( PB,
	move.l	a0,a2
	add.l	#$BB80,a2
	move.l	a0,a3
	add.l	#$27D94,a3
	move.l	(a3),d1
	lea	0(a2,d1.l*4),a2
	move.b	d5,1(a2)
;E_RGBA_PIXEL( PB,
	move.l	a0,a2
	add.l	#$BB80,a2
	move.l	a0,a3
	add.l	#$27D94,a3
	move.l	(a3),d1
	lea	0(a2,d1.l*4),a2
	move.b	d4,2(a2)
;E_RGBA_PIXEL( PB,
	move.l	a0,a2
	add.l	#$BB80,a2
	move.l	a0,a3
	add.l	#$27D94,a3
	move.l	(a3),d1
	lea	0(a2,d1.l*4),a2
	move.b	d3,3(a2)
;E_RGBA_PIXEL( PB,
	move.l	a0,a2
	add.l	#$27D94,a2
	move.l	(a2),d1
	addq.l	#1,d1
	move.l	a0,a2
	add.l	#$27D94,a2
	move.l	d1,(a2)
L253
	addq.l	#1,d0
L254
	cmp.l	$10(a5),d0
	bls	L251
L255
;   PB_CHECK_FLUSH(ctx,PB)
	add.l	#$27D94,a0
	move.l	(a0),d0
	cmp.l	#$C80,d0
	blo.b	L257
L256
;   PB_CHECK_FLUSH(ctx,PB)
	move.l	a4,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L257
	movem.l	(a7)+,d2-d7/a2-a4
	unlk	a5
	rts

	SECTION "_general_ci_points:0",CODE


;static void general_ci_points( GLcontext *ctx, GLuint first, GLuint 
_general_ci_points
L284	EQU	-$4C
	link	a5,#L284
	movem.l	d2-d7/a2-a4,-(a7)
	move.l	$C(a5),d0
	move.l	$8(a5),a4
L259
;   struct vertex_buffer *VB = ctx->VB;
	move.l	a4,a0
	add.l	#$E994,a0
	move.l	(a0),a3
;   struct pixel_buffer *PB = ctx->PB;
	move.l	a4,a0
	add.l	#$E998,a0
	move.l	(a0),a2
;   isize = (GLint) (CLAMP(ctx->Point.Size,MIN_POINT_SIZE,MAX_POIN
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fboge.b	L261
L260
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L265
L261
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.40240000.00000000,fp0
	fbole.b	L263
L262
	fmove.d	#$.40240000.00000000,fp0
	bra.b	L264
L263
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
L264
L265
	fadd.d	#$.3FE00000.00000000,fp0
	fmove.l	fp0,d1
	move.l	d1,d7
;   for (i=first;
	move.l	d0,d6
	bra	L282
L266
;      if (VB->ClipMask[i]==0) 
	move.l	a3,a0
	add.l	#$FE08,a0
	move.l	d6,d0
	tst.b	0(a0,d0.l)
	bne	L281
L267
;         x = (GLint)  VB->Win[i][0];
	lea	$5E80(a3),a0
	move.l	d6,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp0
	fmove.l	fp0,d1
;         y = (GLint)  VB->Win[i][1];
	lea	$5E80(a3),a0
	move.l	d6,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp0
	fmove.l	fp0,d0
;         z = (GLint) (VB->Win[i][2] + ctx->PointZoffset);
	lea	$5E80(a3),a0
	move.l	d6,d2
	muls.l	#$C,d2
	lea	0(a0,d2.l),a0
	fmove.s	$8(a0),fp0
	move.l	a4,a0
	add.l	#$E982,a0
	fadd.s	(a0),fp0
	fmove.l	fp0,d5
;         if (isize&1) 
	move.l	d7,d2
	and.l	#1,d2
	beq.b	L269
L268
;            x0 = x - isize/2;
	move.l	d7,d2
	divsl.l	#2,d2
	move.l	d1,d3
	sub.l	d2,d3
	move.l	d3,-$20(a5)
;            x1 = x + isize/2;
	move.l	d7,d2
	divsl.l	#2,d2
	move.l	d1,d4
	add.l	d2,d4
;            y0 = y - isize/2;
	move.l	d7,d1
	divsl.l	#2,d1
	move.l	d0,d2
	sub.l	d1,d2
;            y1 = y + isize/2;
	move.l	d7,d1
	divsl.l	#2,d1
	add.l	d1,d0
	move.l	d0,-$2C(a5)
	bra.b	L270
L269
;            x0 = (GLint) (x + 0.5F) - isize/2;
	fmove.l	d1,fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d1
	move.l	d1,-$20(a5)
	move.l	d7,d1
	divsl.l	#2,d1
	sub.l	d1,-$20(a5)
;            x1 = x0 + isize-1;
	move.l	-$20(a5),d4
	add.l	d7,d4
	subq.l	#1,d4
;            y0 = (GLint) (y + 0.5F) - isize/2;
	fmove.l	d0,fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d2
	move.l	d7,d0
	divsl.l	#2,d0
	sub.l	d0,d2
;            y1 = y0 + isize-1;
	move.l	d2,d0
	add.l	d7,d0
	move.l	d0,-$2C(a5)
	subq.l	#1,-$2C(a5)
L270
;         PB_SET_INDEX( 
	move.l	a2,a0
	add.l	#$27D90,a0
	move.l	(a0),d1
	move.l	a3,a1
	add.l	#$BD08,a1
	move.l	d6,d0
	move.l	(a1),a0
	cmp.l	0(a0,d0.l*4),d1
	bne.b	L272
L271
	move.l	a2,a0
	add.l	#$27D98,a0
	tst.b	(a0)
	bne.b	L273
L272
;         PB_SET_INDEX( 
	move.l	a4,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L273
;         PB_SET_INDEX( 
	move.l	a3,a1
	add.l	#$BD08,a1
	move.l	d6,d0
	move.l	(a1),a0
	move.l	0(a0,d0.l*4),d0
	move.l	a2,a0
	add.l	#$27D90,a0
	move.l	d0,(a0)
;         PB_SET_INDEX( 
	move.l	a2,a0
	add.l	#$27D98,a0
	move.b	#1,(a0)
;         for (iy=y0;
	move.l	d2,d3
	bra.b	L278
L274
;            for (ix=x0;
	move.l	-$20(a5),d0
	bra.b	L276
L275
;               PB_WRITE
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d1
	move.l	d0,0(a2,d1.l*4)
;               PB_WRITE
	move.l	a2,a1
	add.l	#$27D94,a1
	lea	$4B00(a2),a0
	move.l	(a1),d1
	move.l	d3,0(a0,d1.l*4)
;               PB_WRITE
	move.l	a2,a0
	add.l	#$9600,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	move.w	d5,0(a0,d1.l*2)
;               PB_WRITE
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d1
	addq.l	#1,d1
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	d1,(a0)
	addq.l	#1,d0
L276
	cmp.l	d4,d0
	ble.b	L275
L277
	addq.l	#1,d3
L278
	cmp.l	-$2C(a5),d3
	ble.b	L274
L279
;         PB_CHECK_FLUSH(ctx,PB)
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	cmp.l	#$C80,d0
	blo.b	L281
L280
;         PB_CHECK_FLUSH(ctx,PB)
	move.l	a4,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L281
	move.l	d6,d0
	addq.l	#1,d0
	move.l	d0,d6
L282
	move.l	d6,d0
	cmp.l	$10(a5),d0
	bls	L266
L283
	movem.l	(a7)+,d2-d7/a2-a4
	unlk	a5
	rts

	SECTION "_general_rgba_points:0",CODE


;static void general_rgba_points( GLcontext *ctx, GLuint first, GLuin
_general_rgba_points
L313	EQU	-$4C
	link	a5,#L313
	movem.l	d2-d7/a2-a4,-(a7)
	move.l	$C(a5),d0
	move.l	$8(a5),a4
L285
;   struct vertex_buffer *VB = ctx->VB;
	move.l	a4,a0
	add.l	#$E994,a0
	move.l	(a0),a3
;   struct pixel_buffer *PB = ctx->PB;
	move.l	a4,a0
	add.l	#$E998,a0
	move.l	(a0),a2
;   isize = (GLint) (CLAMP(ctx->Point.Size,MIN_POINT_SIZE,MAX_POIN
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fboge.b	L287
L286
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L291
L287
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.40240000.00000000,fp0
	fbole.b	L289
L288
	fmove.d	#$.40240000.00000000,fp0
	bra.b	L290
L289
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
L290
L291
	fadd.d	#$.3FE00000.00000000,fp0
	fmove.l	fp0,d1
	move.l	d1,d7
;   for (i=first;
	move.l	d0,d6
	bra	L311
L292
;      if (VB->ClipMask[i]==0) 
	move.l	a3,a0
	add.l	#$FE08,a0
	move.l	d6,d0
	tst.b	0(a0,d0.l)
	bne	L310
L293
;         x = (GLint)  VB->Win[i][0];
	lea	$5E80(a3),a0
	move.l	d6,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp0
	fmove.l	fp0,d1
;         y = (GLint)  VB->Win[i][1];
	lea	$5E80(a3),a0
	move.l	d6,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp0
	fmove.l	fp0,d0
;         z = (GLint) (VB->Win[i][2] + ctx->PointZoffset);
	lea	$5E80(a3),a0
	move.l	d6,d2
	muls.l	#$C,d2
	lea	0(a0,d2.l),a0
	fmove.s	$8(a0),fp0
	move.l	a4,a0
	add.l	#$E982,a0
	fadd.s	(a0),fp0
	fmove.l	fp0,d5
;         if (isize&1) 
	move.l	d7,d2
	and.l	#1,d2
	beq.b	L295
L294
;            x0 = x - isize/2;
	move.l	d7,d2
	divsl.l	#2,d2
	move.l	d1,d3
	sub.l	d2,d3
	move.l	d3,-$20(a5)
;            x1 = x + isize/2;
	move.l	d7,d2
	divsl.l	#2,d2
	move.l	d1,d4
	add.l	d2,d4
;            y0 = y - isize/2;
	move.l	d7,d1
	divsl.l	#2,d1
	move.l	d0,d2
	sub.l	d1,d2
;            y1 = y + isize/2;
	move.l	d7,d1
	divsl.l	#2,d1
	add.l	d1,d0
	move.l	d0,-$2C(a5)
	bra.b	L296
L295
;            x0 = (GLint) (x + 0.5F) - isize/2;
	fmove.l	d1,fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d1
	move.l	d1,-$20(a5)
	move.l	d7,d1
	divsl.l	#2,d1
	sub.l	d1,-$20(a5)
;            x1 = x0 + isize-1;
	move.l	-$20(a5),d4
	add.l	d7,d4
	subq.l	#1,d4
;            y0 = (GLint) (y + 0.5F) - isize/2;
	fmove.l	d0,fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d2
	move.l	d7,d0
	divsl.l	#2,d0
	sub.l	d0,d2
;            y1 = y0 + isize-1;
	move.l	d2,d0
	add.l	d7,d0
	move.l	d0,-$2C(a5)
	subq.l	#1,-$2C(a5)
L296
;                       VB->Co
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	(a0),d1
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	d6,d0
	move.l	(a1),a0
	move.b	0(a0,d0.l*4),d0
	and.l	#$FF,d0
	cmp.l	d0,d1
	bne	L301
L297
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	4(a0),d1
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	d6,d0
	move.l	(a1),a0
	lea	0(a0,d0.l*4),a0
	moveq	#0,d0
	move.b	1(a0),d0
	cmp.l	d0,d1
	bne.b	L301
L298
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	$8(a0),d1
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	d6,d0
	move.l	(a1),a0
	lea	0(a0,d0.l*4),a0
	moveq	#0,d0
	move.b	2(a0),d0
	cmp.l	d0,d1
	bne.b	L301
L299
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	$C(a0),d1
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	d6,d0
	move.l	(a1),a0
	lea	0(a0,d0.l*4),a0
	moveq	#0,d0
	move.b	3(a0),d0
	cmp.l	d0,d1
	bne.b	L301
L300
	move.l	a2,a0
	add.l	#$27D98,a0
	tst.b	(a0)
	bne.b	L302
L301
;                       VB->Co
	move.l	a4,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L302
;                       VB->Co
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	d6,d0
	move.l	(a1),a0
	move.b	0(a0,d0.l*4),d0
	and.l	#$FF,d0
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	d0,(a0)
;                       VB->Co
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	d6,d0
	move.l	(a1),a0
	lea	0(a0,d0.l*4),a0
	moveq	#0,d0
	move.b	1(a0),d0
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	d0,4(a0)
;                       VB->Co
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	d6,d0
	move.l	(a1),a0
	lea	0(a0,d0.l*4),a0
	moveq	#0,d0
	move.b	2(a0),d0
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	d0,$8(a0)
;                       VB->Co
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	d6,d0
	move.l	(a1),a0
	lea	0(a0,d0.l*4),a0
	moveq	#0,d0
	move.b	3(a0),d0
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	d0,$C(a0)
;                       VB->Co
	move.l	a2,a0
	add.l	#$27D98,a0
	move.b	#1,(a0)
;         for (iy=y0;
	move.l	d2,d3
	bra.b	L307
L303
;            for (ix=x0;
	move.l	-$20(a5),d0
	bra.b	L305
L304
;               PB_WRITE
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d1
	move.l	d0,0(a2,d1.l*4)
;               PB_WRITE
	move.l	a2,a1
	add.l	#$27D94,a1
	lea	$4B00(a2),a0
	move.l	(a1),d1
	move.l	d3,0(a0,d1.l*4)
;               PB_WRITE
	move.l	a2,a0
	add.l	#$9600,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	move.w	d5,0(a0,d1.l*2)
;               PB_WRITE
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d1
	addq.l	#1,d1
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	d1,(a0)
	addq.l	#1,d0
L305
	cmp.l	d4,d0
	ble.b	L304
L306
	addq.l	#1,d3
L307
	cmp.l	-$2C(a5),d3
	ble.b	L303
L308
;         PB_CHECK_FLUSH(ctx,PB)
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	cmp.l	#$C80,d0
	blo.b	L310
L309
;         PB_CHECK_FLUSH(ctx,PB)
	move.l	a4,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L310
	move.l	d6,d0
	addq.l	#1,d0
	move.l	d0,d6
L311
	move.l	d6,d0
	cmp.l	$10(a5),d0
	bls	L292
L312
	movem.l	(a7)+,d2-d7/a2-a4
	unlk	a5
	rts

	SECTION "_textured_rgba_points:0",CODE


;static void textured_rgba_points( GLcontext *ctx, GLuint first, GLui
_textured_rgba_points
L338	EQU	-$74
	link	a5,#L338
	movem.l	d2-d7/a2-a4,-(a7)
	fmovem.x fp2/fp3,-(a7)
	move.l	$C(a5),d0
	move.l	$8(a5),a4
L314
;   struct vertex_buffer *VB = ctx->VB;
	move.l	a4,a0
	add.l	#$E994,a0
	move.l	(a0),a3
;   struct pixel_buffer *PB = ctx->PB;
	move.l	a4,a0
	add.l	#$E998,a0
	move.l	(a0),a2
;   for (i=first;
	move.l	d0,d5
	bra	L336
L315
;      if (VB->ClipMask[i]==0) 
	move.l	a3,a0
	add.l	#$FE08,a0
	tst.b	0(a0,d5.l)
	bne	L335
L316
;         x = (GLint)  VB->Win[i][0];
	lea	$5E80(a3),a0
	move.l	d5,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp0
	fmove.l	fp0,d1
;         y = (GLint)  VB->Win[i][1];
	lea	$5E80(a3),a0
	move.l	d5,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp0
	fmove.l	fp0,d2
;         z = (GLint) (VB->Win[i][2] + ctx->PointZoffset);
	lea	$5E80(a3),a0
	move.l	d5,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp0
	move.l	a4,a0
	add.l	#$E982,a0
	fadd.s	(a0),fp0
	fmove.l	fp0,d0
	move.l	d0,-$18(a5)
;         isize = (GLint)
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fboge.b	L318
L317
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L322
L318
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.40240000.00000000,fp0
	fbole.b	L320
L319
	fmove.d	#$.40240000.00000000,fp0
	bra.b	L321
L320
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
L321
L322
	fadd.d	#$.3FE00000.00000000,fp0
	fmove.l	fp0,d0
;         if (isize<1) 
	cmp.l	#1,d0
	bge.b	L324
L323
;            isize = 1;
	moveq	#1,d0
L324
;         if (isize&1) 
	move.l	d0,d3
	and.l	#1,d3
	beq.b	L326
L325
;            x0 = x - isize/2;
	move.l	d0,d3
	divsl.l	#2,d3
	move.l	d1,d4
	sub.l	d3,d4
	move.l	d4,-$1C(a5)
;            x1 = x + isize/2;
	move.l	d0,d3
	divsl.l	#2,d3
	move.l	d1,d4
	add.l	d3,d4
;            y0 = y - isize/2;
	move.l	d0,d1
	divsl.l	#2,d1
	move.l	d2,d3
	sub.l	d1,d3
	move.l	d3,d1
;            y1 = y + isize/2;
	divsl.l	#2,d0
	add.l	d0,d2
	move.l	d2,-$28(a5)
	bra.b	L327
L326
;            x0 = (GLint) (x + 0.5F) - isize/2;
	fmove.l	d1,fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d1
	move.l	d1,-$1C(a5)
	move.l	d0,d1
	divsl.l	#2,d1
	sub.l	d1,-$1C(a5)
;            x1 = x0 + isize-1;
	move.l	-$1C(a5),d4
	add.l	d0,d4
	subq.l	#1,d4
;            y0 = (GLint) (y + 0.5F) - isize/2;
	fmove.l	d2,fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d1
	move.l	d0,d2
	divsl.l	#2,d2
	sub.l	d2,d1
;            y1 = y0 + isize-1;
	move.l	d1,d2
	add.l	d0,d2
	move.l	d2,-$28(a5)
	subq.l	#1,-$28(a5)
L327
;         red   = VB->Color[i][0];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	moveq	#0,d0
	move.b	0(a0,d5.l*4),d0
	move.l	d0,-$38(a5)
;         green = VB->Color[i][1];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d5.l*4),a0
	moveq	#0,d0
	move.b	1(a0),d0
	move.l	d0,-$3C(a5)
;         blue  = VB->Color[i][2];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d5.l*4),a0
	moveq	#0,d7
	move.b	2(a0),d7
;         alpha = VB->Color[i][3];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d5.l*4),a0
	moveq	#0,d6
	move.b	3(a0),d6
;         s = VB->TexCoord[i][0] / VB->TexCoord[i][3];
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d5,d0
	asl.l	#4,d0
	move.l	(a1),a0
	fmove.s	0(a0,d0.l),fp2
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d5,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fdiv.s	$C(a0),fp2
;         t = VB->TexCoord[i][1] / VB->TexCoord[i][3];
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d5,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp1
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d5,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fdiv.s	$C(a0),fp1
;         u = VB->TexCoord[i][2] / VB->TexCoord[i][3];
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d5,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp0
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d5,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fdiv.s	$C(a0),fp0
;         for (iy=y0;
	move.l	d1,d3
	bra	L332
L328
;            for (ix=x0;
	move.l	-$1C(a5),d0
	bra	L330
L329
;L( PB, ix, iy, z,
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d1
	move.l	d0,0(a2,d1.l*4)
;L( PB, ix, iy, z,
	move.l	a2,a1
	add.l	#$27D94,a1
	lea	$4B00(a2),a0
	move.l	(a1),d1
	move.l	d3,0(a0,d1.l*4)
;L( PB, ix, iy, z,
	move.l	a2,a0
	add.l	#$9600,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	move.w	-$16(a5),0(a0,d1.l*2)
;L( PB, ix, iy, z,
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	move.b	-$35(a5),0(a0,d1.l*4)
;L( PB, ix, iy, z,
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	lea	0(a0,d1.l*4),a0
	move.b	-$39(a5),1(a0)
;L( PB, ix, iy, z,
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	lea	0(a0,d1.l*4),a0
	move.b	d7,2(a0)
;L( PB, ix, iy, z,
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	lea	0(a0,d1.l*4),a0
	move.b	d6,3(a0)
;L( PB, ix, iy, z,
	move.l	a2,a0
	add.l	#$15180,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	fmove.s	fp2,0(a0,d1.l*4)
;L( PB, ix, iy, z,
	move.l	a2,a0
	add.l	#$19C80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	fmove.s	fp1,0(a0,d1.l*4)
;L( PB, ix, iy, z,
	move.l	a2,a0
	add.l	#$1E780,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	fmove.s	fp0,0(a0,d1.l*4)
;L( PB, ix, iy, z,
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d1
	addq.l	#1,d1
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	d1,(a0)
	addq.l	#1,d0
L330
	cmp.l	d4,d0
	ble	L329
L331
	addq.l	#1,d3
L332
	cmp.l	-$28(a5),d3
	ble	L328
L333
;         PB_CHECK_FLUSH(ctx,PB)
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	cmp.l	#$C80,d0
	blo.b	L335
L334
;         PB_CHECK_FLUSH(ctx,PB)
	move.l	a4,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L335
	addq.l	#1,d5
L336
	cmp.l	$10(a5),d5
	bls	L315
L337
	fmovem.x (a7)+,fp2/fp3
	movem.l	(a7)+,d2-d7/a2-a4
	unlk	a5
	rts

	SECTION "_antialiased_rgba_points:0",CODE


;static void antialiased_rgba_points( GLcontext *ctx,
_antialiased_rgba_points
L380	EQU	-$A0
	link	a5,#L380
	movem.l	d2-d7/a2-a4,-(a7)
	fmovem.x fp2/fp3/fp4/fp5/fp6/fp7,-(a7)
	move.l	$C(a5),d0
	move.l	$8(a5),a4
L339
;   struct vertex_buffer *VB = ctx->VB;
	move.l	a4,a0
	add.l	#$E994,a0
	move.l	(a0),a3
;   struct pixel_buffer *PB = ctx->PB;
	move.l	a4,a0
	add.l	#$E998,a0
	move.l	(a0),a2
;   radius = CLAMP( ctx->Point.Size, MIN_POINT_SIZE, MAX_POINT_SIZ
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fboge.b	L341
L340
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L345
L341
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.40240000.00000000,fp0
	fbole.b	L343
L342
	fmove.d	#$.40240000.00000000,fp0
	bra.b	L344
L343
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
L344
L345
	fmul.d	#$.3FE00000.00000000,fp0
	fmove.s	fp0,-$10(a5)
;   rmin = radius - 0.7071F;
	fmove.s	-$10(a5),fp1
	fsub.s	#$.3F350481,fp1
;   rmax = radius + 0.7071F;
	fmove.s	-$10(a5),fp0
	fadd.s	#$.3F350481,fp0
;   rmin2 = rmin*rmin;
	fmove.x	fp1,fp2
	fmul.x	fp1,fp2
;   rmax2 = rmax*rmax;
	fmove.x	fp0,fp3
	fmul.x	fp0,fp3
;   cscale = 256.0F / (rmax2-rmin2);
	fmove.x	fp3,fp0
	fsub.x	fp2,fp0
	fmove.s	#$.43800000,fp4
	fdiv.x	fp0,fp4
;   if (ctx->Texture.Enabled) 
	move.l	a4,a0
	add.l	#$DEBA,a0
	tst.l	$8(a0)
	beq	L363
L346
;      for (i=first;
	move.l	d0,d2
	bra	L361
L347
;         if (VB->ClipMask[i]==0) 
	move.l	a3,a0
	add.l	#$FE08,a0
	tst.b	0(a0,d2.l)
	bne	L360
L348
;            xmin = (GLint) (VB->Win[i][0] - radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp0
	fsub.s	-$10(a5),fp0
	fmove.l	fp0,d0
	move.l	d0,-$28(a5)
;            xmax = (GLint) (VB->Win[i][0] + radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp0
	fadd.s	-$10(a5),fp0
	fmove.l	fp0,d0
	move.l	d0,-$30(a5)
;            ymin = (GLint) (VB->Win[i][1] - radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp0
	fsub.s	-$10(a5),fp0
	fmove.l	fp0,d1
;            ymax = (GLint) (VB->Win[i][1] + radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp0
	fadd.s	-$10(a5),fp0
	fmove.l	fp0,d0
	move.l	d0,-$34(a5)
;            z = (GLint) (VB->Win[i][2] + ctx->PointZoffs
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp0
	move.l	a4,a0
	add.l	#$E982,a0
	fadd.s	(a0),fp0
	fmove.l	fp0,d0
	move.l	d0,-$40(a5)
;            red   = VB->Color[i][0];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	moveq	#0,d0
	move.b	0(a0,d2.l*4),d0
	move.l	d0,-$44(a5)
;            green = VB->Color[i][1];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d7
	move.b	1(a0),d7
;            blue  = VB->Color[i][2];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d6
	move.b	2(a0),d6
;            s = VB->TexCoord[i][0] / VB->TexCoord[i][3];
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d2,d0
	asl.l	#4,d0
	move.l	(a1),a0
	move.l	0(a0,d0.l),-$54(a5)
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d2,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fmove.s	-$54(a5),fp0
	fdiv.s	$C(a0),fp0
	fmove.s	fp0,-$54(a5)
;            t = VB->TexCoord[i][1] / VB->TexCoord[i][3];
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d2,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp7
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d2,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fmove.x	fp7,fp0
	fdiv.s	$C(a0),fp0
	fmove.s	fp0,fp7
;            u = VB->TexCoord[i][2] / VB->TexCoord[i][3];
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d2,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp6
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d2,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fmove.x	fp6,fp0
	fdiv.s	$C(a0),fp0
	fmove.x	fp0,fp6
;            for (y=ymin;
	move.l	d1,d3
	bra	L357
L349
;               for (x=xmin;
	move.l	-$28(a5),d1
	bra	L355
L350
;                  GLfloat dx = x/*+0.5F*/ - VB->Wi
	fmove.l	d1,fp0
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	fsub.s	0(a0,d0.l),fp0
;                  GLfloat dy = y/*+0.5F*/ - VB->Wi
	fmove.l	d3,fp1
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fsub.s	4(a0),fp1
;                  GLfloat dist2 = dx*dx + dy*dy;
	fmove.x	fp0,fp5
	fmul.x	fp0,fp5
	fmove.x	fp5,fp0
	fmove.x	fp1,fp5
	fmul.x	fp1,fp5
	fadd.x	fp5,fp0
;                  if (dist2<rmax2) 
	fcmp.x	fp3,fp0
	fboge.b	L354
L351
;                     alpha = VB->Color[i][3];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d0
	move.b	3(a0),d0
;                     if (dist2>=rmin2) 
	fcmp.x	fp2,fp0
	fbolt.b	L353
L352
;                        GLint coverage = (GL
	fsub.x	fp2,fp0
	fmul.x	fp4,fp0
	fmove.s	#$.43800000,fp1
	fsub.x	fp0,fp1
	fmove.x	fp1,fp0
	fmove.l	fp0,d4
;                        alpha = (alpha * cov
	muls.l	d4,d0
	moveq	#$8,d4
	asr.l	d4,d0
L353
;PIXEL( PB, x,y,z,
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d4
	move.l	d1,0(a2,d4.l*4)
;PIXEL( PB, x,y,z,
	move.l	a2,a1
	add.l	#$27D94,a1
	lea	$4B00(a2),a0
	move.l	(a1),d4
	move.l	d3,0(a0,d4.l*4)
;PIXEL( PB, x,y,z,
	move.l	a2,a0
	add.l	#$9600,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	move.w	-$3E(a5),0(a0,d4.l*2)
;PIXEL( PB, x,y,z,
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	move.b	-$41(a5),0(a0,d4.l*4)
;PIXEL( PB, x,y,z,
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	lea	0(a0,d4.l*4),a0
	move.b	d7,1(a0)
;PIXEL( PB, x,y,z,
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	lea	0(a0,d4.l*4),a0
	move.b	d6,2(a0)
;PIXEL( PB, x,y,z,
	move.b	d0,d4
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d0
	lea	0(a0,d0.l*4),a0
	move.b	d4,3(a0)
;PIXEL( PB, x,y,z,
	move.l	a2,a0
	add.l	#$15180,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d0
	move.l	-$54(a5),0(a0,d0.l*4)
;PIXEL( PB, x,y,z,
	move.l	a2,a0
	add.l	#$19C80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d0
	fmove.s	fp7,0(a0,d0.l*4)
;PIXEL( PB, x,y,z,
	move.l	a2,a0
	add.l	#$1E780,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d0
	fmove.s	fp6,0(a0,d0.l*4)
;PIXEL( PB, x,y,z,
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	addq.l	#1,d0
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	d0,(a0)
L354
	addq.l	#1,d1
L355
	cmp.l	-$30(a5),d1
	ble	L350
L356
	addq.l	#1,d3
L357
	cmp.l	-$34(a5),d3
	ble	L349
L358
;            PB_CHECK_FLUSH(ctx,PB)
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	cmp.l	#$C80,d0
	blo.b	L360
L359
;            PB_CHECK_FLUSH(ctx,PB)
	move.l	a4,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L360
	addq.l	#1,d2
L361
	cmp.l	$10(a5),d2
	bls	L347
L362
	bra	L379
L363
;      for (i=first;
	move.l	d0,d2
	bra	L378
L364
;         if (VB->ClipMask[i]==0) 
	move.l	a3,a0
	add.l	#$FE08,a0
	tst.b	0(a0,d2.l)
	bne	L377
L365
;            xmin = (GLint) (VB->Win[i][0] - radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp0
	fsub.s	-$10(a5),fp0
	fmove.l	fp0,d0
	move.l	d0,-$28(a5)
;            xmax = (GLint) (VB->Win[i][0] + radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp0
	fadd.s	-$10(a5),fp0
	fmove.l	fp0,d0
	move.l	d0,-$30(a5)
;            ymin = (GLint) (VB->Win[i][1] - radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp0
	fsub.s	-$10(a5),fp0
	fmove.l	fp0,d1
;            ymax = (GLint) (VB->Win[i][1] + radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp0
	fadd.s	-$10(a5),fp0
	fmove.l	fp0,d0
	move.l	d0,-$34(a5)
;            z = (GLint) (VB->Win[i][2] + ctx->PointZoffs
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp0
	move.l	a4,a0
	add.l	#$E982,a0
	fadd.s	(a0),fp0
	fmove.l	fp0,d0
	move.l	d0,-$40(a5)
;            red   = VB->Color[i][0];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	moveq	#0,d0
	move.b	0(a0,d2.l*4),d0
	move.l	d0,-$44(a5)
;            green = VB->Color[i][1];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d7
	move.b	1(a0),d7
;            blue  = VB->Color[i][2];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d6
	move.b	2(a0),d6
;            for (y=ymin;
	move.l	d1,d3
	bra	L374
L366
;               for (x=xmin;
	move.l	-$28(a5),d1
	bra	L372
L367
;                  GLfloat dx = x/*+0.5F*/ - VB->Wi
	fmove.l	d1,fp0
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	fsub.s	0(a0,d0.l),fp0
;                  GLfloat dy = y/*+0.5F*/ - VB->Wi
	fmove.l	d3,fp1
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fsub.s	4(a0),fp1
;                  GLfloat dist2 = dx*dx + dy*dy;
	fmove.x	fp0,fp5
	fmul.x	fp0,fp5
	fmove.x	fp5,fp0
	fmove.x	fp1,fp5
	fmul.x	fp1,fp5
	fadd.x	fp5,fp0
;                  if (dist2<rmax2) 
	fcmp.x	fp3,fp0
	fboge.b	L371
L368
;                     alpha = VB->Color[i][3];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d0
	move.b	3(a0),d0
;                     if (dist2>=rmin2) 
	fcmp.x	fp2,fp0
	fbolt.b	L370
L369
;                        GLint coverage = (GL
	fsub.x	fp2,fp0
	fmul.x	fp4,fp0
	fmove.s	#$.43800000,fp1
	fsub.x	fp0,fp1
	fmove.x	fp1,fp0
	fmove.l	fp0,d4
;                        alpha = (alpha * cov
	muls.l	d4,d0
	moveq	#$8,d4
	asr.l	d4,d0
L370
;E_RGBA_PIXEL( PB,
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d4
	move.l	d1,0(a2,d4.l*4)
;E_RGBA_PIXEL( PB,
	move.l	a2,a1
	add.l	#$27D94,a1
	lea	$4B00(a2),a0
	move.l	(a1),d4
	move.l	d3,0(a0,d4.l*4)
;E_RGBA_PIXEL( PB,
	move.l	a2,a0
	add.l	#$9600,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	move.w	-$3E(a5),0(a0,d4.l*2)
;E_RGBA_PIXEL( PB,
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	move.b	-$41(a5),0(a0,d4.l*4)
;E_RGBA_PIXEL( PB,
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	lea	0(a0,d4.l*4),a0
	move.b	d7,1(a0)
;E_RGBA_PIXEL( PB,
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	lea	0(a0,d4.l*4),a0
	move.b	d6,2(a0)
;E_RGBA_PIXEL( PB,
	move.b	d0,d4
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d0
	lea	0(a0,d0.l*4),a0
	move.b	d4,3(a0)
;E_RGBA_PIXEL( PB,
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	addq.l	#1,d0
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	d0,(a0)
L371
	addq.l	#1,d1
L372
	cmp.l	-$30(a5),d1
	ble	L367
L373
	addq.l	#1,d3
L374
	cmp.l	-$34(a5),d3
	ble	L366
L375
;            PB_CHECK_FLUSH(ctx,PB)
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	cmp.l	#$C80,d0
	blo.b	L377
L376
;            PB_CHECK_FLUSH(ctx,PB)
	move.l	a4,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L377
	addq.l	#1,d2
L378
	cmp.l	$10(a5),d2
	bls	L364
L379
	fmovem.x (a7)+,fp2/fp3/fp4/fp5/fp6/fp7
	movem.l	(a7)+,d2-d7/a2-a4
	unlk	a5
	rts

	SECTION "_null_points:0",CODE


;static void null_points( GLcontext *ctx, GLuint first, GLuint last )
_null_points
L381
;   (void) ctx;
;   (void) first;
;   (void) last;
	rts

	SECTION "_dist_attenuation__r:0",CODE


;static GLfloat dist_attenuation(GLcontext *ctx, const GLfloat p[3])
_dist_attenuation__r
	move.l	a2,-(a7)
	fmovem.x fp2/fp3,-(a7)
	move.l	$24(a7),a0
	move.l	$20(a7),a2
L382
; dist=GL_SQRT(p[0]*p[0]+p[1]*p[1]+p[2]*p[2]);
	fmove.s	(a0),fp0
	fmul.s	(a0),fp0
	fmove.s	4(a0),fp1
	fmul.s	4(a0),fp1
	fadd.x	fp1,fp0
	fmove.s	$8(a0),fp1
	fmul.s	$8(a0),fp1
	fadd.x	fp1,fp0
	fmove.d	fp0,-(a7)
	jsr	_sqrt__r
	addq.w	#$8,a7
	move.l	a2,a0
	add.l	#$DDD6,a0
	fmove.s	(a0),fp1
	move.l	a2,a0
	add.l	#$DDD6,a0
	fmove.s	4(a0),fp2
	fmul.x	fp0,fp2
	fadd.x	fp2,fp1
	move.l	a2,a0
	add.l	#$DDD6,a0
	fmove.s	$8(a0),fp2
	fmul.x	fp0,fp2
	fmul.x	fp0,fp2
	fadd.x	fp2,fp1
	fmove.s	#$.3F800000,fp0
	fdiv.x	fp1,fp0
	fmovem.x (a7)+,fp2/fp3
	move.l	(a7)+,a2
	rts

	SECTION "_dist_atten_general_ci_points:0",CODE


;static void dist_atten_general_ci_points( GLcontext *ctx, GLuint fir
_dist_atten_general_ci_points
L417	EQU	-$48
	link	a5,#L417
	movem.l	d2-d7/a2-a4,-(a7)
	fmovem.x fp2,-(a7)
	move.l	$C(a5),d0
	move.l	$8(a5),a3
L383
;   struct vertex_buffer *VB = ctx->VB;
	move.l	a3,a0
	add.l	#$E994,a0
	move.l	(a0),a4
;   struct pixel_buffer *PB = ctx->PB;
	move.l	a3,a0
	add.l	#$E998,a0
	move.l	(a0),a2
;   psize=CLAMP(ctx->Point.Size,MIN_POINT_SIZE,MAX_POINT_SIZE);
	move.l	a3,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fboge.b	L385
L384
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L389
L385
	move.l	a3,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.40240000.00000000,fp0
	fbole.b	L387
L386
	fmove.d	#$.40240000.00000000,fp0
	bra.b	L388
L387
	move.l	a3,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
L388
L389
	fmove.x	fp0,fp2
;   for (i=first;
	move.l	d0,d6
	bra	L415
L390
;      if (VB->ClipMask[i]==0) 
	move.l	a4,a0
	add.l	#$FE08,a0
	move.l	d6,d0
	tst.b	0(a0,d0.l)
	bne	L414
L391
;         x = (GLint)  VB->Win[i][0];
	lea	$5E80(a4),a0
	move.l	d6,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp0
	fmove.l	fp0,d2
;         y = (GLint)  VB->Win[i][1];
	lea	$5E80(a4),a0
	move.l	d6,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp0
	fmove.l	fp0,d3
;         z = (GLint) (VB->Win[i][2] + ctx->PointZoffset);
	lea	$5E80(a4),a0
	move.l	d6,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp0
	move.l	a3,a0
	add.l	#$E982,a0
	fadd.s	(a0),fp0
	fmove.l	fp0,d5
;         dsize=psize*dist_attenuation(ctx,VB->Eye[i]);
	lea	$1F80(a4),a0
	move.l	d6,d0
	asl.l	#4,d0
	pea	0(a0,d0.l)
	move.l	a3,-(a7)
	jsr	_dist_attenuation__r
	addq.w	#$8,a7
	fmul.x	fp2,fp0
;         if(dsize>=ctx->Point.Threshold) 
	move.l	a3,a0
	add.l	#$DDD0,a0
	fcmp.s	$1A(a0),fp0
	fbolt.b	L396
L392
;            isize=(GLint) (MIN2(dsize,ctx->Point.MaxSize)
	move.l	a3,a0
	add.l	#$DDD0,a0
	fcmp.s	$16(a0),fp0
	fboge.b	L394
L393
	bra.b	L395
L394
	move.l	a3,a0
	add.l	#$DDD0,a0
	fmove.s	$16(a0),fp0
L395
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
	bra.b	L400
L396
;            isize=(GLint) (MAX2(ctx->Point.Threshold,ctx
	move.l	a3,a0
	add.l	#$DDD0,a0
	fmove.s	$1A(a0),fp1
	move.l	a3,a0
	add.l	#$DDD0,a0
	fcmp.s	$12(a0),fp1
	fbole.b	L398
L397
	move.l	a3,a0
	add.l	#$DDD0,a0
	fmove.s	$1A(a0),fp0
	bra.b	L399
L398
	move.l	a3,a0
	add.l	#$DDD0,a0
	fmove.s	$12(a0),fp0
L399
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
L400
;         if (isize&1) 
	move.l	d0,d1
	and.l	#1,d1
	beq.b	L402
L401
;            x0 = x - isize/2;
	move.l	d0,d1
	divsl.l	#2,d1
	move.l	d2,d4
	sub.l	d1,d4
	move.l	d4,d7
;            x1 = x + isize/2;
	move.l	d0,d1
	divsl.l	#2,d1
	move.l	d2,d4
	add.l	d1,d4
;            y0 = y - isize/2;
	move.l	d0,d1
	divsl.l	#2,d1
	move.l	d3,d2
	sub.l	d1,d2
;            y1 = y + isize/2;
	divsl.l	#2,d0
	add.l	d0,d3
	move.l	d3,-$34(a5)
	bra.b	L403
L402
;            x0 = (GLint) (x + 0.5F) - isize/2;
	fmove.l	d2,fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d1
	move.l	d1,d7
	move.l	d0,d1
	divsl.l	#2,d1
	move.l	d7,d2
	sub.l	d1,d2
	move.l	d2,d7
;            x1 = x0 + isize-1;
	move.l	d7,d4
	add.l	d0,d4
	subq.l	#1,d4
;            y0 = (GLint) (y + 0.5F) - isize/2;
	fmove.l	d3,fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d2
	move.l	d0,d1
	divsl.l	#2,d1
	sub.l	d1,d2
;            y1 = y0 + isize-1;
	move.l	d2,d1
	add.l	d0,d1
	move.l	d1,-$34(a5)
	subq.l	#1,-$34(a5)
L403
;         PB_SET_INDEX( 
	move.l	a2,a0
	add.l	#$27D90,a0
	move.l	(a0),d1
	move.l	a4,a1
	add.l	#$BD08,a1
	move.l	d6,d0
	move.l	(a1),a0
	cmp.l	0(a0,d0.l*4),d1
	bne.b	L405
L404
	move.l	a2,a0
	add.l	#$27D98,a0
	tst.b	(a0)
	bne.b	L406
L405
;         PB_SET_INDEX( 
	move.l	a3,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L406
;         PB_SET_INDEX( 
	move.l	a4,a1
	add.l	#$BD08,a1
	move.l	d6,d0
	move.l	(a1),a0
	move.l	0(a0,d0.l*4),d0
	move.l	a2,a0
	add.l	#$27D90,a0
	move.l	d0,(a0)
;         PB_SET_INDEX( 
	move.l	a2,a0
	add.l	#$27D98,a0
	move.b	#1,(a0)
;         for (iy=y0;
	move.l	d2,d3
	bra.b	L411
L407
;            for (ix=x0;
	move.l	d7,d0
	bra.b	L409
L408
;               PB_WRITE
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d1
	move.l	d0,0(a2,d1.l*4)
;               PB_WRITE
	move.l	a2,a1
	add.l	#$27D94,a1
	lea	$4B00(a2),a0
	move.l	(a1),d1
	move.l	d3,0(a0,d1.l*4)
;               PB_WRITE
	move.l	a2,a0
	add.l	#$9600,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	move.w	d5,0(a0,d1.l*2)
;               PB_WRITE
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d1
	addq.l	#1,d1
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	d1,(a0)
	addq.l	#1,d0
L409
	cmp.l	d4,d0
	ble.b	L408
L410
	addq.l	#1,d3
L411
	cmp.l	-$34(a5),d3
	ble.b	L407
L412
;         PB_CHECK_FLUSH(ctx,PB)
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	cmp.l	#$C80,d0
	blo.b	L414
L413
;         PB_CHECK_FLUSH(ctx,PB)
	move.l	a3,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L414
	move.l	d6,d0
	addq.l	#1,d0
	move.l	d0,d6
L415
	move.l	d6,d0
	cmp.l	$10(a5),d0
	bls	L390
L416
	fmovem.x (a7)+,fp2
	movem.l	(a7)+,d2-d7/a2-a4
	unlk	a5
	rts

	SECTION "_dist_atten_general_rgba_points:0",CODE


;static void dist_atten_general_rgba_points( GLcontext *ctx, GLuint f
_dist_atten_general_rgba_points
L455	EQU	-$4C
	link	a5,#L455
	movem.l	d2-d7/a2-a4,-(a7)
	fmovem.x fp2/fp3,-(a7)
	move.l	$C(a5),d0
	move.l	$8(a5),a3
L418
;   struct vertex_buffer *VB = ctx->VB;
	move.l	a3,a0
	add.l	#$E994,a0
	move.l	(a0),a4
;   struct pixel_buffer *PB = ctx->PB;
	move.l	a3,a0
	add.l	#$E998,a0
	move.l	(a0),a2
;   psize=CLAMP(ctx->Point.Size,MIN_POINT_SIZE,MAX_POINT_SIZE);
	move.l	a3,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fboge.b	L420
L419
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L424
L420
	move.l	a3,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.40240000.00000000,fp0
	fbole.b	L422
L421
	fmove.d	#$.40240000.00000000,fp0
	bra.b	L423
L422
	move.l	a3,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
L423
L424
	fmove.x	fp0,fp3
;   for (i=first;
	move.l	d0,d7
	bra	L453
L425
;      if (VB->ClipMask[i]==0) 
	move.l	a4,a0
	add.l	#$FE08,a0
	move.l	d7,d0
	tst.b	0(a0,d0.l)
	bne	L452
L426
;         x = (GLint)  VB->Win[i][0];
	lea	$5E80(a4),a0
	move.l	d7,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp0
	fmove.l	fp0,d2
;         y = (GLint)  VB->Win[i][1];
	lea	$5E80(a4),a0
	move.l	d7,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp0
	fmove.l	fp0,d0
	move.l	d0,d6
;         z = (GLint) (VB->Win[i][2] + ctx->PointZoffset);
	lea	$5E80(a4),a0
	move.l	d7,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp0
	move.l	a3,a0
	add.l	#$E982,a0
	fadd.s	(a0),fp0
	fmove.l	fp0,d5
;         dsize=psize*dist_attenuation(ctx,VB->Eye[i]);
	lea	$1F80(a4),a0
	move.l	d7,d0
	asl.l	#4,d0
	pea	0(a0,d0.l)
	move.l	a3,-(a7)
	jsr	_dist_attenuation__r
	addq.w	#$8,a7
	fmul.x	fp3,fp0
;         if (dsize >= ctx->Point.Threshold) 
	move.l	a3,a0
	add.l	#$DDD0,a0
	fcmp.s	$1A(a0),fp0
	fbolt.b	L431
L427
;            isize = (GLint) (MIN2(dsize,ctx->Point.MaxSi
	move.l	a3,a0
	add.l	#$DDD0,a0
	fcmp.s	$16(a0),fp0
	fboge.b	L429
L428
	bra.b	L430
L429
	move.l	a3,a0
	add.l	#$DDD0,a0
	fmove.s	$16(a0),fp0
L430
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
;            alpha = VB->Color[i][3];
	move.l	a4,a1
	add.l	#$9D80,a1
	move.l	d7,d1
	move.l	(a1),a0
	lea	0(a0,d1.l*4),a0
	move.b	3(a0),d3
	bra	L435
L431
;            isize = (GLint) (MAX2(ctx->Point.Threshold,c
	move.l	a3,a0
	add.l	#$DDD0,a0
	fmove.s	$1A(a0),fp2
	move.l	a3,a0
	add.l	#$DDD0,a0
	fcmp.s	$12(a0),fp2
	fbole.b	L433
L432
	move.l	a3,a0
	add.l	#$DDD0,a0
	fmove.s	$1A(a0),fp1
	bra.b	L434
L433
	move.l	a3,a0
	add.l	#$DDD0,a0
	fmove.s	$12(a0),fp1
L434
	fadd.s	#$.3F000000,fp1
	fmove.l	fp1,d0
;            dsize /= ctx->Point.Threshold;
	move.l	a3,a0
	add.l	#$DDD0,a0
	fdiv.s	$1A(a0),fp0
;            alpha = (GLint) (VB->Color[i][3]* (dsize*dsi
	move.l	a4,a1
	add.l	#$9D80,a1
	move.l	d7,d1
	move.l	(a1),a0
	lea	0(a0,d1.l*4),a0
	moveq	#0,d1
	move.b	3(a0),d1
	fmove.l	d1,fp1
	fmove.x	fp0,fp2
	fmul.x	fp0,fp2
	fmul.x	fp2,fp1
	fmove.l	fp1,d1
	move.b	d1,d3
L435
;         if (isize & 1) 
	move.l	d0,d1
	and.l	#1,d1
	beq.b	L437
L436
;            x0 = x - isize/2;
	move.l	d0,d1
	divsl.l	#2,d1
	move.l	d2,d4
	sub.l	d1,d4
	move.l	d4,-$2A(a5)
;            x1 = x + isize/2;
	move.l	d0,d1
	divsl.l	#2,d1
	move.l	d2,d4
	add.l	d1,d4
;            y0 = y - isize/2;
	move.l	d0,d1
	divsl.l	#2,d1
	move.l	d6,d2
	sub.l	d1,d2
;            y1 = y + isize/2;
	divsl.l	#2,d0
	move.l	d6,d1
	add.l	d0,d1
	move.l	d1,d6
	bra.b	L438
L437
;            x0 = (GLint) (x + 0.5F) - isize/2;
	fmove.l	d2,fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d1
	move.l	d1,-$2A(a5)
	move.l	d0,d1
	divsl.l	#2,d1
	sub.l	d1,-$2A(a5)
;            x1 = x0 + isize-1;
	move.l	-$2A(a5),d4
	add.l	d0,d4
	subq.l	#1,d4
;            y0 = (GLint) (y + 0.5F) - isize/2;
	fmove.l	d6,fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d2
	move.l	d0,d1
	divsl.l	#2,d1
	sub.l	d1,d2
;            y1 = y0 + isize-1;
	move.l	d2,d1
	add.l	d0,d1
	move.l	d1,d0
	subq.l	#1,d0
	move.l	d0,d6
L438
;                       alpha )
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	(a0),d1
	move.l	a4,a1
	add.l	#$9D80,a1
	move.l	d7,d0
	move.l	(a1),a0
	move.b	0(a0,d0.l*4),d0
	and.l	#$FF,d0
	cmp.l	d0,d1
	bne.b	L443
L439
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	4(a0),d1
	move.l	a4,a1
	add.l	#$9D80,a1
	move.l	d7,d0
	move.l	(a1),a0
	lea	0(a0,d0.l*4),a0
	moveq	#0,d0
	move.b	1(a0),d0
	cmp.l	d0,d1
	bne.b	L443
L440
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	$8(a0),d1
	move.l	a4,a1
	add.l	#$9D80,a1
	move.l	d7,d0
	move.l	(a1),a0
	lea	0(a0,d0.l*4),a0
	moveq	#0,d0
	move.b	2(a0),d0
	cmp.l	d0,d1
	bne.b	L443
L441
	move.l	a2,a0
	add.l	#$27D80,a0
	moveq	#0,d0
	move.b	d3,d0
	move.l	$C(a0),d1
	cmp.l	d0,d1
	bne.b	L443
L442
	move.l	a2,a0
	add.l	#$27D98,a0
	tst.b	(a0)
	bne.b	L444
L443
;                       alpha )
	move.l	a3,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L444
;                       alpha )
	move.l	a4,a1
	add.l	#$9D80,a1
	move.l	d7,d0
	move.l	(a1),a0
	move.b	0(a0,d0.l*4),d0
	and.l	#$FF,d0
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	d0,(a0)
;                       alpha )
	move.l	a4,a1
	add.l	#$9D80,a1
	move.l	d7,d0
	move.l	(a1),a0
	lea	0(a0,d0.l*4),a0
	moveq	#0,d0
	move.b	1(a0),d0
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	d0,4(a0)
;                       alpha )
	move.l	a4,a1
	add.l	#$9D80,a1
	move.l	d7,d0
	move.l	(a1),a0
	lea	0(a0,d0.l*4),a0
	moveq	#0,d0
	move.b	2(a0),d0
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	d0,$8(a0)
;                       alpha )
	moveq	#0,d0
	move.b	d3,d0
	move.l	a2,a0
	add.l	#$27D80,a0
	move.l	d0,$C(a0)
;                       alpha )
	move.l	a2,a0
	add.l	#$27D98,a0
	move.b	#1,(a0)
;         for (iy=y0;
	move.l	d2,d3
	bra.b	L449
L445
;            for (ix=x0;
	move.l	-$2A(a5),d0
	bra.b	L447
L446
;               PB_WRITE
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d1
	move.l	d0,0(a2,d1.l*4)
;               PB_WRITE
	move.l	a2,a1
	add.l	#$27D94,a1
	lea	$4B00(a2),a0
	move.l	(a1),d1
	move.l	d3,0(a0,d1.l*4)
;               PB_WRITE
	move.l	a2,a0
	add.l	#$9600,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	move.w	d5,0(a0,d1.l*2)
;               PB_WRITE
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d1
	addq.l	#1,d1
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	d1,(a0)
	addq.l	#1,d0
L447
	cmp.l	d4,d0
	ble.b	L446
L448
	addq.l	#1,d3
L449
	cmp.l	d6,d3
	ble.b	L445
L450
;         PB_CHECK_FLUSH(ctx,PB)
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	cmp.l	#$C80,d0
	blo.b	L452
L451
;         PB_CHECK_FLUSH(ctx,PB)
	move.l	a3,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L452
	move.l	d7,d0
	addq.l	#1,d0
	move.l	d0,d7
L453
	move.l	d7,d0
	cmp.l	$10(a5),d0
	bls	L425
L454
	fmovem.x (a7)+,fp2/fp3
	movem.l	(a7)+,d2-d7/a2-a4
	unlk	a5
	rts

	SECTION "_dist_atten_textured_rgba_points:0",CODE


;static void dist_atten_textured_rgba_points( GLcontext *ctx, GLuint 
_dist_atten_textured_rgba_points
L489	EQU	-$7C
	link	a5,#L489
	movem.l	d2-d7/a2-a4,-(a7)
	fmovem.x fp2/fp3/fp4,-(a7)
	move.l	$C(a5),d0
	move.l	$8(a5),a4
L456
;   struct vertex_buffer *VB = ctx->VB;
	move.l	a4,a0
	add.l	#$E994,a0
	move.l	(a0),a3
;   struct pixel_buffer *PB = ctx->PB;
	move.l	a4,a0
	add.l	#$E998,a0
	move.l	(a0),a2
;   psize=CLAMP(ctx->Point.Size,MIN_POINT_SIZE,MAX_POINT_SIZE);
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fboge.b	L458
L457
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L462
L458
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.40240000.00000000,fp0
	fbole.b	L460
L459
	fmove.d	#$.40240000.00000000,fp0
	bra.b	L461
L460
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
L461
L462
	fmove.x	fp0,fp4
;   for (i=first;
	move.l	d0,d5
	bra	L487
L463
;      if (VB->ClipMask[i]==0) 
	move.l	a3,a0
	add.l	#$FE08,a0
	tst.b	0(a0,d5.l)
	bne	L486
L464
;         x = (GLint)  VB->Win[i][0];
	lea	$5E80(a3),a0
	move.l	d5,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp0
	fmove.l	fp0,d3
;         y = (GLint)  VB->Win[i][1];
	lea	$5E80(a3),a0
	move.l	d5,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp0
	fmove.l	fp0,d2
;         z = (GLint) (VB->Win[i][2] + ctx->PointZoffset);
	lea	$5E80(a3),a0
	move.l	d5,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp0
	move.l	a4,a0
	add.l	#$E982,a0
	fadd.s	(a0),fp0
	fmove.l	fp0,d0
	move.l	d0,-$20(a5)
;         dsize=psize*dist_attenuation(ctx,VB->Eye[i]);
	lea	$1F80(a3),a0
	move.l	d5,d0
	asl.l	#4,d0
	pea	0(a0,d0.l)
	move.l	a4,-(a7)
	jsr	_dist_attenuation__r
	addq.w	#$8,a7
	fmul.x	fp4,fp0
;         if(dsize>=ctx->Point.Threshold) 
	move.l	a4,a0
	add.l	#$DDD0,a0
	fcmp.s	$1A(a0),fp0
	fbolt.b	L469
L465
;            isize=(GLint) (MIN2(dsize,ctx->Point.MaxSize)
	move.l	a4,a0
	add.l	#$DDD0,a0
	fcmp.s	$16(a0),fp0
	fboge.b	L467
L466
	bra.b	L468
L467
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	$16(a0),fp0
L468
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d0
;            alpha=VB->Color[i][3];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d5.l*4),a0
	moveq	#0,d6
	move.b	3(a0),d6
	bra	L473
L469
;            isize=(GLint) (MAX2(ctx->Point.Threshold,ctx
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	$1A(a0),fp2
	move.l	a4,a0
	add.l	#$DDD0,a0
	fcmp.s	$12(a0),fp2
	fbole.b	L471
L470
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	$1A(a0),fp1
	bra.b	L472
L471
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	$12(a0),fp1
L472
	fadd.s	#$.3F000000,fp1
	fmove.l	fp1,d0
;            dsize/=ctx->Point.Threshold;
	move.l	a4,a0
	add.l	#$DDD0,a0
	fdiv.s	$1A(a0),fp0
;            alpha = (GLint) (VB->Color[i][3]* (dsize*dsi
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d5.l*4),a0
	moveq	#0,d1
	move.b	3(a0),d1
	fmove.l	d1,fp1
	fmove.x	fp0,fp2
	fmul.x	fp0,fp2
	fmul.x	fp2,fp1
	fmove.l	fp1,d1
	move.l	d1,d6
L473
;         if (isize<1) 
	cmp.l	#1,d0
	bge.b	L475
L474
;            isize = 1;
	moveq	#1,d0
L475
;         if (isize&1) 
	move.l	d0,d1
	and.l	#1,d1
	beq.b	L477
L476
;            x0 = x - isize/2;
	move.l	d0,d1
	divsl.l	#2,d1
	move.l	d3,d4
	sub.l	d1,d4
	move.l	d4,-$24(a5)
;            x1 = x + isize/2;
	move.l	d0,d1
	divsl.l	#2,d1
	move.l	d3,d4
	add.l	d1,d4
;            y0 = y - isize/2;
	move.l	d0,d1
	divsl.l	#2,d1
	move.l	d2,d3
	sub.l	d1,d3
	move.l	d3,d1
;            y1 = y + isize/2;
	divsl.l	#2,d0
	add.l	d0,d2
	move.l	d2,-$30(a5)
	bra.b	L478
L477
;            x0 = (GLint) (x + 0.5F) - isize/2;
	fmove.l	d3,fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d1
	move.l	d1,-$24(a5)
	move.l	d0,d1
	divsl.l	#2,d1
	sub.l	d1,-$24(a5)
;            x1 = x0 + isize-1;
	move.l	-$24(a5),d4
	add.l	d0,d4
	subq.l	#1,d4
;            y0 = (GLint) (y + 0.5F) - isize/2;
	fmove.l	d2,fp0
	fadd.s	#$.3F000000,fp0
	fmove.l	fp0,d1
	move.l	d0,d2
	divsl.l	#2,d2
	sub.l	d2,d1
;            y1 = y0 + isize-1;
	move.l	d1,d2
	add.l	d0,d2
	move.l	d2,-$30(a5)
	subq.l	#1,-$30(a5)
L478
;         red   = VB->Color[i][0];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	moveq	#0,d0
	move.b	0(a0,d5.l*4),d0
	move.l	d0,-$40(a5)
;         green = VB->Color[i][1];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d5.l*4),a0
	moveq	#0,d0
	move.b	1(a0),d0
	move.l	d0,-$44(a5)
;         blue  = VB->Color[i][2];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d5.l*4),a0
	moveq	#0,d7
	move.b	2(a0),d7
;         s = VB->TexCoord[i][0] / VB->TexCoord[i][3];
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d5,d0
	asl.l	#4,d0
	move.l	(a1),a0
	fmove.s	0(a0,d0.l),fp2
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d5,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fdiv.s	$C(a0),fp2
;         t = VB->TexCoord[i][1] / VB->TexCoord[i][3];
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d5,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp1
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d5,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fdiv.s	$C(a0),fp1
;         u = VB->TexCoord[i][2] / VB->TexCoord[i][3];
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d5,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp0
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d5,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fdiv.s	$C(a0),fp0
;         for (iy=y0;
	move.l	d1,d3
	bra	L483
L479
;            for (ix=x0;
	move.l	-$24(a5),d0
	bra	L481
L480
; u )
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d1
	move.l	d0,0(a2,d1.l*4)
; u )
	move.l	a2,a1
	add.l	#$27D94,a1
	lea	$4B00(a2),a0
	move.l	(a1),d1
	move.l	d3,0(a0,d1.l*4)
; u )
	move.l	a2,a0
	add.l	#$9600,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	move.w	-$1E(a5),0(a0,d1.l*2)
; u )
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	move.b	-$3D(a5),0(a0,d1.l*4)
; u )
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	lea	0(a0,d1.l*4),a0
	move.b	-$41(a5),1(a0)
; u )
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	lea	0(a0,d1.l*4),a0
	move.b	d7,2(a0)
; u )
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	lea	0(a0,d1.l*4),a0
	move.b	d6,3(a0)
; u )
	move.l	a2,a0
	add.l	#$15180,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	fmove.s	fp2,0(a0,d1.l*4)
; u )
	move.l	a2,a0
	add.l	#$19C80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	fmove.s	fp1,0(a0,d1.l*4)
; u )
	move.l	a2,a0
	add.l	#$1E780,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d1
	fmove.s	fp0,0(a0,d1.l*4)
; u )
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d1
	addq.l	#1,d1
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	d1,(a0)
	addq.l	#1,d0
L481
	cmp.l	d4,d0
	ble	L480
L482
	addq.l	#1,d3
L483
	cmp.l	-$30(a5),d3
	ble	L479
L484
;         PB_CHECK_FLUSH(ctx,PB)
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	cmp.l	#$C80,d0
	blo.b	L486
L485
;         PB_CHECK_FLUSH(ctx,PB)
	move.l	a4,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L486
	addq.l	#1,d5
L487
	cmp.l	$10(a5),d5
	bls	L463
L488
	fmovem.x (a7)+,fp2/fp3/fp4
	movem.l	(a7)+,d2-d7/a2-a4
	unlk	a5
	rts

	SECTION "_dist_atten_antialiased_rgba_points:0",CODE


;static void dist_atten_antialiased_rgba_points( GLcontext *ctx,
_dist_atten_antialiased_rgba_points
L549	EQU	-$C4
	link	a5,#L549
	movem.l	d2-d7/a2-a4,-(a7)
	fmovem.x fp2/fp3/fp4/fp5/fp6/fp7,-(a7)
	move.l	$C(a5),d0
	move.l	$8(a5),a4
L490
;   struct vertex_buffer *VB = ctx->VB;
	move.l	a4,a0
	add.l	#$E994,a0
	move.l	(a0),a3
;   struct pixel_buffer *PB = ctx->PB;
	move.l	a4,a0
	add.l	#$E998,a0
	move.l	(a0),a2
;   psize=CLAMP(ctx->Point.Size,MIN_POINT_SIZE,MAX_POINT_SIZE);
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fboge.b	L492
L491
	fmove.d	#$.3FF00000.00000000,fp0
	bra.b	L496
L492
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
	fcmp.d	#$.40240000.00000000,fp0
	fbole.b	L494
L493
	fmove.d	#$.40240000.00000000,fp0
	bra.b	L495
L494
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	2(a0),fp0
L495
L496
	fmove.s	fp0,-$28(a5)
;   if (ctx->Texture.Enabled) 
	move.l	a4,a0
	add.l	#$DEBA,a0
	tst.l	$8(a0)
	beq	L523
L497
;      for (i=first;
	move.l	d0,d2
	bra	L521
L498
;         if (VB->ClipMask[i]==0) 
	move.l	a3,a0
	add.l	#$FE08,a0
	tst.b	0(a0,d2.l)
	bne	L520
L499
;            dsize=psize*dist_attenuation(ctx,VB->Eye[i]);
	lea	$1F80(a3),a0
	move.l	d2,d0
	asl.l	#4,d0
	pea	0(a0,d0.l)
	move.l	a4,-(a7)
	jsr	_dist_attenuation__r
	addq.w	#$8,a7
	fmove.s	-$28(a5),fp1
	fmul.x	fp0,fp1
;            if(dsize>=ctx->Point.Threshold) 
	move.l	a4,a0
	add.l	#$DDD0,a0
	fcmp.s	$1A(a0),fp1
	fbolt.b	L504
L500
;               radius=(MIN2(dsize,ctx->Point.MaxSize)
	move.l	a4,a0
	add.l	#$DDD0,a0
	fcmp.s	$16(a0),fp1
	fboge.b	L502
L501
	fmove.x	fp1,fp0
	bra.b	L503
L502
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	$16(a0),fp0
L503
	fmul.s	#$.3F000000,fp0
;               alphaf=1.0;
	fmove.s	#$.3F800000,fp4
	bra.b	L508
L504
;               radius=(MAX2(ctx->Point.Threshold,ctx-
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	$1A(a0),fp2
	move.l	a4,a0
	add.l	#$DDD0,a0
	fcmp.s	$12(a0),fp2
	fbole.b	L506
L505
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	$1A(a0),fp0
	bra.b	L507
L506
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	$12(a0),fp0
L507
	fmul.s	#$.3F000000,fp0
;               dsize/=ctx->Point.Threshold;
	move.l	a4,a0
	add.l	#$DDD0,a0
	fdiv.s	$1A(a0),fp1
;               alphaf=(dsize*dsize);
	fmove.x	fp1,fp4
	fmul.x	fp1,fp4
L508
;            rmin = radius - 0.7071F;
	fmove.x	fp0,fp2
	fsub.s	#$.3F350481,fp2
;            rmax = radius + 0.7071F;
	fmove.x	fp0,fp1
	fadd.s	#$.3F350481,fp1
;            rmin2 = rmin*rmin;
	fmove.x	fp2,fp3
	fmul.x	fp2,fp3
	fmove.x	fp3,fp2
;            rmax2 = rmax*rmax;
	fmove.x	fp1,fp3
	fmul.x	fp1,fp3
;            cscale = 256.0F / (rmax2-rmin2);
	fmove.x	fp3,fp1
	fsub.x	fp2,fp1
	fmove.s	#$.43800000,fp5
	fdiv.x	fp1,fp5
;            xmin = (GLint) (VB->Win[i][0] - radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp1
	fsub.x	fp0,fp1
	fmove.l	fp1,d0
	move.l	d0,-$34(a5)
;            xmax = (GLint) (VB->Win[i][0] + radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp1
	fadd.x	fp0,fp1
	fmove.l	fp1,d0
	move.l	d0,-$3C(a5)
;            ymin = (GLint) (VB->Win[i][1] - radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp1
	fsub.x	fp0,fp1
	fmove.l	fp1,d1
;            ymax = (GLint) (VB->Win[i][1] + radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp1
	fadd.x	fp0,fp1
	fmove.l	fp1,d0
	move.l	d0,-$40(a5)
;            z = (GLint) (VB->Win[i][2] + ctx->PointZoffs
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp0
	move.l	a4,a0
	add.l	#$E982,a0
	fadd.s	(a0),fp0
	fmove.l	fp0,d0
	move.l	d0,-$4C(a5)
;            red   = VB->Color[i][0];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	moveq	#0,d0
	move.b	0(a0,d2.l*4),d0
	move.l	d0,-$50(a5)
;            green = VB->Color[i][1];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d7
	move.b	1(a0),d7
;            blue  = VB->Color[i][2];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d6
	move.b	2(a0),d6
;            s = VB->TexCoord[i][0] / VB->TexCoord[i][3];
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d2,d0
	asl.l	#4,d0
	move.l	(a1),a0
	move.l	0(a0,d0.l),-$60(a5)
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d2,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fmove.s	-$60(a5),fp0
	fdiv.s	$C(a0),fp0
	fmove.s	fp0,-$60(a5)
;            t = VB->TexCoord[i][1] / VB->TexCoord[i][3];
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d2,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	move.l	4(a0),-$64(a5)
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d2,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fmove.s	-$64(a5),fp0
	fdiv.s	$C(a0),fp0
	fmove.s	fp0,-$64(a5)
;            u = VB->TexCoord[i][2] / VB->TexCoord[i][3];
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d2,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp7
	move.l	a3,a1
	add.l	#$BF04,a1
	move.l	d2,d0
	asl.l	#4,d0
	move.l	(a1),a0
	lea	0(a0,d0.l),a0
	fmove.x	fp7,fp0
	fdiv.s	$C(a0),fp0
	fmove.s	fp0,fp7
;            for (y=ymin;
	move.l	d1,d3
	bra	L517
L509
;               for (x=xmin;
	move.l	-$34(a5),d1
	bra	L515
L510
;                  GLfloat dx = x/*+0.5F*/ - VB->Wi
	fmove.l	d1,fp0
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	fsub.s	0(a0,d0.l),fp0
;                  GLfloat dy = y/*+0.5F*/ - VB->Wi
	fmove.l	d3,fp1
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fsub.s	4(a0),fp1
;                  GLfloat dist2 = dx*dx + dy*dy;
	fmove.x	fp0,fp6
	fmul.x	fp0,fp6
	fmove.x	fp6,fp0
	fmove.x	fp1,fp6
	fmul.x	fp1,fp6
	fadd.x	fp6,fp0
;                  if (dist2<rmax2) 
	fcmp.x	fp3,fp0
	fboge.b	L514
L511
;                     alpha = VB->Color[i][3];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d0
	move.b	3(a0),d0
;                     if (dist2>=rmin2) 
	fcmp.x	fp2,fp0
	fbolt.b	L513
L512
;                        GLint coverage = (GL
	fsub.x	fp2,fp0
	fmul.x	fp5,fp0
	fmove.s	#$.43800000,fp1
	fsub.x	fp0,fp1
	fmove.x	fp1,fp0
	fmove.l	fp0,d4
;                        alpha = (alpha * cov
	muls.l	d4,d0
	moveq	#$8,d4
	asr.l	d4,d0
L513
;                     alpha = (GLint) (alpha * a
	fmove.l	d0,fp0
	fmul.x	fp4,fp0
	fmove.l	fp0,d0
;t, u )
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d4
	move.l	d1,0(a2,d4.l*4)
;t, u )
	move.l	a2,a1
	add.l	#$27D94,a1
	lea	$4B00(a2),a0
	move.l	(a1),d4
	move.l	d3,0(a0,d4.l*4)
;t, u )
	move.l	a2,a0
	add.l	#$9600,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	move.w	-$4A(a5),0(a0,d4.l*2)
;t, u )
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	move.b	-$4D(a5),0(a0,d4.l*4)
;t, u )
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	lea	0(a0,d4.l*4),a0
	move.b	d7,1(a0)
;t, u )
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	lea	0(a0,d4.l*4),a0
	move.b	d6,2(a0)
;t, u )
	move.b	d0,d4
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d0
	lea	0(a0,d0.l*4),a0
	move.b	d4,3(a0)
;t, u )
	move.l	a2,a0
	add.l	#$15180,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d0
	move.l	-$60(a5),0(a0,d0.l*4)
;t, u )
	move.l	a2,a0
	add.l	#$19C80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d0
	move.l	-$64(a5),0(a0,d0.l*4)
;t, u )
	move.l	a2,a0
	add.l	#$1E780,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d0
	fmove.s	fp7,0(a0,d0.l*4)
;t, u )
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	addq.l	#1,d0
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	d0,(a0)
L514
	addq.l	#1,d1
L515
	cmp.l	-$3C(a5),d1
	ble	L510
L516
	addq.l	#1,d3
L517
	cmp.l	-$40(a5),d3
	ble	L509
L518
;            PB_CHECK_FLUSH(ctx,PB)
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	cmp.l	#$C80,d0
	blo.b	L520
L519
;            PB_CHECK_FLUSH(ctx,PB)
	move.l	a4,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L520
	addq.l	#1,d2
L521
	cmp.l	$10(a5),d2
	bls	L498
L522
	bra	L548
L523
;      for (i=first;
	move.l	d0,d2
	bra	L547
L524
;         if (VB->ClipMask[i]==0) 
	move.l	a3,a0
	add.l	#$FE08,a0
	tst.b	0(a0,d2.l)
	bne	L546
L525
;            dsize=psize*dist_attenuation(ctx,VB->Eye[i]);
	lea	$1F80(a3),a0
	move.l	d2,d0
	asl.l	#4,d0
	pea	0(a0,d0.l)
	move.l	a4,-(a7)
	jsr	_dist_attenuation__r
	addq.w	#$8,a7
	fmove.s	-$28(a5),fp1
	fmul.x	fp0,fp1
;            if(dsize>=ctx->Point.Threshold) 
	move.l	a4,a0
	add.l	#$DDD0,a0
	fcmp.s	$1A(a0),fp1
	fbolt.b	L530
L526
;               radius=(MIN2(dsize,ctx->Point.MaxSize)
	move.l	a4,a0
	add.l	#$DDD0,a0
	fcmp.s	$16(a0),fp1
	fboge.b	L528
L527
	fmove.x	fp1,fp0
	bra.b	L529
L528
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	$16(a0),fp0
L529
	fmul.s	#$.3F000000,fp0
;               alphaf=1.0;
	fmove.s	#$.3F800000,fp4
	bra.b	L534
L530
;               radius=(MAX2(ctx->Point.Threshold,ctx-
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	$1A(a0),fp2
	move.l	a4,a0
	add.l	#$DDD0,a0
	fcmp.s	$12(a0),fp2
	fbole.b	L532
L531
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	$1A(a0),fp0
	bra.b	L533
L532
	move.l	a4,a0
	add.l	#$DDD0,a0
	fmove.s	$12(a0),fp0
L533
	fmul.s	#$.3F000000,fp0
;               dsize/=ctx->Point.Threshold;
	move.l	a4,a0
	add.l	#$DDD0,a0
	fdiv.s	$1A(a0),fp1
;               alphaf=(dsize*dsize);
	fmove.x	fp1,fp4
	fmul.x	fp1,fp4
L534
;            rmin = radius - 0.7071F;
	fmove.x	fp0,fp2
	fsub.s	#$.3F350481,fp2
;            rmax = radius + 0.7071F;
	fmove.x	fp0,fp1
	fadd.s	#$.3F350481,fp1
;            rmin2 = rmin*rmin;
	fmove.x	fp2,fp3
	fmul.x	fp2,fp3
	fmove.x	fp3,fp2
;            rmax2 = rmax*rmax;
	fmove.x	fp1,fp3
	fmul.x	fp1,fp3
;            cscale = 256.0F / (rmax2-rmin2);
	fmove.x	fp3,fp1
	fsub.x	fp2,fp1
	fmove.s	#$.43800000,fp5
	fdiv.x	fp1,fp5
;            xmin = (GLint) (VB->Win[i][0] - radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp1
	fsub.x	fp0,fp1
	fmove.l	fp1,d0
	move.l	d0,-$34(a5)
;            xmax = (GLint) (VB->Win[i][0] + radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	fmove.s	0(a0,d0.l),fp1
	fadd.x	fp0,fp1
	fmove.l	fp1,d0
	move.l	d0,-$3C(a5)
;            ymin = (GLint) (VB->Win[i][1] - radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp1
	fsub.x	fp0,fp1
	fmove.l	fp1,d1
;            ymax = (GLint) (VB->Win[i][1] + radius);
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	4(a0),fp1
	fadd.x	fp0,fp1
	fmove.l	fp1,d0
	move.l	d0,-$40(a5)
;            z = (GLint) (VB->Win[i][2] + ctx->PointZoffs
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fmove.s	$8(a0),fp0
	move.l	a4,a0
	add.l	#$E982,a0
	fadd.s	(a0),fp0
	fmove.l	fp0,d0
	move.l	d0,-$4C(a5)
;            red   = VB->Color[i][0];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	moveq	#0,d0
	move.b	0(a0,d2.l*4),d0
	move.l	d0,-$50(a5)
;            green = VB->Color[i][1];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d7
	move.b	1(a0),d7
;            blue  = VB->Color[i][2];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d6
	move.b	2(a0),d6
;            for (y=ymin;
	move.l	d1,d3
	bra	L543
L535
;               for (x=xmin;
	move.l	-$34(a5),d1
	bra	L541
L536
;                  GLfloat dx = x/*+0.5F*/ - VB->Wi
	fmove.l	d1,fp0
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	fsub.s	0(a0,d0.l),fp0
;                  GLfloat dy = y/*+0.5F*/ - VB->Wi
	fmove.l	d3,fp1
	lea	$5E80(a3),a0
	move.l	d2,d0
	muls.l	#$C,d0
	lea	0(a0,d0.l),a0
	fsub.s	4(a0),fp1
;                  GLfloat dist2 = dx*dx + dy*dy;
	fmove.x	fp0,fp6
	fmul.x	fp0,fp6
	fmove.x	fp6,fp0
	fmove.x	fp1,fp6
	fmul.x	fp1,fp6
	fadd.x	fp6,fp0
;                  if (dist2<rmax2) 
	fcmp.x	fp3,fp0
	fboge.b	L540
L537
;                      alpha = VB->Color[i][3];
	move.l	a3,a1
	add.l	#$9D80,a1
	move.l	(a1),a0
	lea	0(a0,d2.l*4),a0
	moveq	#0,d0
	move.b	3(a0),d0
;                     if (dist2>=rmin2) 
	fcmp.x	fp2,fp0
	fbolt.b	L539
L538
;                        GLint coverage = (GL
	fsub.x	fp2,fp0
	fmul.x	fp5,fp0
	fmove.s	#$.43800000,fp1
	fsub.x	fp0,fp1
	fmove.x	fp1,fp0
	fmove.l	fp0,d4
;                        alpha = (alpha * cov
	muls.l	d4,d0
	moveq	#$8,d4
	asr.l	d4,d0
L539
;                     alpha = (GLint) (alpha * a
	fmove.l	d0,fp0
	fmul.x	fp4,fp0
	fmove.l	fp0,d0
;E_RGBA_PIXEL( PB,
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d4
	move.l	d1,0(a2,d4.l*4)
;E_RGBA_PIXEL( PB,
	move.l	a2,a1
	add.l	#$27D94,a1
	lea	$4B00(a2),a0
	move.l	(a1),d4
	move.l	d3,0(a0,d4.l*4)
;E_RGBA_PIXEL( PB,
	move.l	a2,a0
	add.l	#$9600,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	move.w	-$4A(a5),0(a0,d4.l*2)
;E_RGBA_PIXEL( PB,
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	move.b	-$4D(a5),0(a0,d4.l*4)
;E_RGBA_PIXEL( PB,
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	lea	0(a0,d4.l*4),a0
	move.b	d7,1(a0)
;E_RGBA_PIXEL( PB,
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d4
	lea	0(a0,d4.l*4),a0
	move.b	d6,2(a0)
;E_RGBA_PIXEL( PB,
	move.b	d0,d4
	move.l	a2,a0
	add.l	#$BB80,a0
	move.l	a2,a1
	add.l	#$27D94,a1
	move.l	(a1),d0
	lea	0(a0,d0.l*4),a0
	move.b	d4,3(a0)
;E_RGBA_PIXEL( PB,
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	addq.l	#1,d0
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	d0,(a0)
L540
	addq.l	#1,d1
L541
	cmp.l	-$3C(a5),d1
	ble	L536
L542
	addq.l	#1,d3
L543
	cmp.l	-$40(a5),d3
	ble	L535
L544
;            PB_CHECK_FLUSH(ctx,PB)
	move.l	a2,a0
	add.l	#$27D94,a0
	move.l	(a0),d0
	cmp.l	#$C80,d0
	blo.b	L546
L545
;            PB_CHECK_FLUSH(ctx,PB)
	move.l	a4,-(a7)
	jsr	_gl_flush_pb
	addq.w	#4,a7
L546
	addq.l	#1,d2
L547
	cmp.l	$10(a5),d2
	bls	L524
L548
	fmovem.x (a7)+,fp2/fp3/fp4/fp5/fp6/fp7
	movem.l	(a7)+,d2-d7/a2-a4
	unlk	a5
	rts

	SECTION "_gl_set_point_function:0",CODE


;void gl_set_point_function( GLcontext *ctx )
	XDEF	_gl_set_point_function
_gl_set_point_function
	move.l	4(a7),a0
L550
;   GLboolean rgbmode = ctx->Visual->RGBAflag;
	move.l	$8F8(a0),a1
	move.b	(a1),d0
;   if (ctx->RenderMode==GL_RENDER) 
	move.l	a0,a1
	add.l	#$E964,a1
	move.l	(a1),d1
	cmp.l	#$1C00,d1
	bne	L581
L551
;      if (ctx->NoRaster) 
	move.l	a0,a1
	add.l	#$E99C,a1
	tst.b	(a1)
	beq.b	L553
L552
;         ctx->Driver.PointsFunc = null_points;
	move.l	#_null_points,$998(a0)
	rts
L553
;      if (ctx->Driver.PointsFunc) 
	tst.l	$998(a0)
	beq.b	L555
L554
;         ctx->Driver.PointsFunc = ctx->Driver.PointsFunc;
	move.l	$998(a0),a1
	move.l	a1,$998(a0)
	bra	L580
L555
;      else if (ctx->Point.Params[0]==1.0 && ctx->Point.Pa
	move.l	a0,a1
	add.l	#$DDD6,a1
	fmove.s	(a1),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fbne.b	L572
L556
	move.l	a0,a1
	add.l	#$DDD6,a1
	fmove.s	4(a1),fp0
	ftst.d	fp0
	fbne.b	L572
L557
	move.l	a0,a1
	add.l	#$DDD6,a1
	fmove.s	$8(a1),fp0
	ftst.d	fp0
	fbne.b	L572
L558
;         if (ctx->Point.SmoothFlag && rgbmode) 
	move.l	a0,a1
	add.l	#$DDD0,a1
	tst.b	(a1)
	beq.b	L561
L559
	tst.b	d0
	beq.b	L561
L560
;            ctx->Driver.PointsFunc = antialiased_rgba_po
	move.l	#_antialiased_rgba_points,$998(a0)
	bra.b	L571
L561
;         else if (ctx->Texture.Enabled) 
	move.l	a0,a1
	add.l	#$DEBA,a1
	tst.l	$8(a1)
	beq.b	L563
L562
;	    ctx->Driver.PointsFunc = textured_rgba_points;
	move.l	#_textured_rgba_points,$998(a0)
	bra.b	L571
L563
;         else if (ctx->Point.Size==1.0) 
	move.l	a0,a1
	add.l	#$DDD0,a1
	fmove.s	2(a1),fp0
	fcmp.d	#$.3FF00000.00000000,fp0
	fbne.b	L568
L564
;            if (rgbmode)
	tst.b	d0
	beq.b	L566
L565
;               ctx->Driver.PointsFunc = size1_rgba_po
	move.l	#_size1_rgba_points,$998(a0)
	bra.b	L567
L566
;               ctx->Driver.PointsFunc = size1_ci_poin
	move.l	#_size1_ci_points,$998(a0)
L567
	bra.b	L571
L568
;            if (rgbmode)
	tst.b	d0
	beq.b	L570
L569
;               ctx->Driver.PointsFunc = general_rgba_
	move.l	#_general_rgba_points,$998(a0)
	bra.b	L571
L570
;               ctx->Driver.PointsFunc = general_ci_po
	move.l	#_general_ci_points,$998(a0)
L571
	bra.b	L580
L572
;      else if(ctx->Point.SmoothFlag && rgbmode) 
	move.l	a0,a1
	add.l	#$DDD0,a1
	tst.b	(a1)
	beq.b	L575
L573
	tst.b	d0
	beq.b	L575
L574
;         ctx->Driver.PointsFunc = dist_atten_antialiased_rg
	move.l	#_dist_atten_antialiased_rgba_points,$998(a0)
	bra.b	L580
L575
;      else if (ctx->Texture.Enabled) 
	move.l	a0,a1
	add.l	#$DEBA,a1
	tst.l	$8(a1)
	beq.b	L577
L576
;         ctx->Driver.PointsFunc = dist_atten_textured_rgba_
	move.l	#_dist_atten_textured_rgba_points,$998(a0)
	bra.b	L580
L577
;         if (rgbmode)
	tst.b	d0
	beq.b	L579
L578
;            ctx->Driver.PointsFunc = dist_atten_general_
	move.l	#_dist_atten_general_rgba_points,$998(a0)
	bra.b	L580
L579
;            ctx->Driver.PointsFunc = dist_atten_general_
	move.l	#_dist_atten_general_ci_points,$998(a0)
L580
	bra.b	L584
L581
;   else if (ctx->RenderMode==GL_FEEDBACK) 
	move.l	a0,a1
	add.l	#$E964,a1
	move.l	(a1),d0
	cmp.l	#$1C01,d0
	bne.b	L583
L582
;      ctx->Driver.PointsFunc = feedback_points;
	move.l	#_feedback_points,$998(a0)
	bra.b	L584
L583
;      ctx->Driver.PointsFunc = select_points;
	move.l	#_select_points,$998(a0)
L584
	rts

	END
