home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-01-31 | 23.3 KB | 1,354 lines |
-
- ; Storm C Compiler
- ; TEMP:Mesa_2_5/src/misc.c
- mc68030
- mc68881
- XREF _gl_clear_stencil_buffer
- XREF _gl_mask_index_span
- XREF _gl_mask_color_span
- XREF _gl_update_state
- XREF _gl_error
- XREF _gl_write_alpha_span
- XREF _gl_clear_alpha_buffers
- XREF _gl_clear_accum_buffer
- XREF _memset
- XREF _strcat
- XREF _strcpy
- XREF _CC
-
- SECTION "_gl_ClearIndex:0",CODE
-
-
- ;void gl_ClearIndex( GLcontext *ctx, GLfloat c )
- XDEF _gl_ClearIndex
- _gl_ClearIndex
- move.l 4(a7),a0
- fmove.s $8(a7),fp0
- L75
- ; if (INSIDE_BEGIN_END(ctx))
- move.l a0,a1
- add.l #$E08A,a1
- move.l (a1),d0
- cmp.l #$1A00,d0
- beq.b L77
- L76
- ; gl_error( ctx, GL_INVALID_OPERATION, "glClearIndex" );
- move.l #L74,-(a7)
- pea $502.w
- move.l a0,-(a7)
- jsr _gl_error
- add.w #$C,a7
- rts
- L77
- ; ctx->Color.ClearIndex = (GLuint) c;
- fmove.l fp0,d0
- move.l d0,$1E74(a0)
- ; if (!ctx->Visual->RGBAflag)
- move.l $898(a0),a1
- move.b (a1),d0
- bne.b L79
- L78
- ; (*ctx->Driver.ClearIndex)( ctx, ctx->Color.ClearIndex );
- lea $1E74(a0),a1
- move.l (a1),d0
- move.l d0,-(a7)
- move.l a0,-(a7)
- add.w #$8A0,a0
- move.l $8(a0),a0
- jsr (a0)
- addq.w #$8,a7
- L79
- rts
-
- L71
- dc.b '1.1 Mesa 2.5',0
- L70
- dc.b 'Brian Paul',0
- L72
- dc.b 'GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_logic_op GL_'
- dc.b 'EXT_blend_subtract GL_EXT_paletted_texture GL_EXT_point_paramete'
- dc.b 'rs GL_EXT_polygon_offset GL_EXT_vertex_array GL_EXT_texture_obje'
- dc.b 'ct GL_EXT_texture3D GL_MESA_window_pos GL_MESA_resize_buffers GL'
- dc.b '_EXT_shared_texture_palette',0
- L74
- dc.b 'glClearIndex',0
-
- SECTION "_gl_ClearColor:0",CODE
-
- rts
-
- ;void gl_ClearColor( GLcontext *ctx, GLclampf red, GLclampf green,
- XDEF _gl_ClearColor
- _gl_ClearColor
- movem.l d2/d3,-(a7)
- fmovem.x fp2/fp3,-(a7)
- move.l $24(a7),a0
- fmove.s $34(a7),fp0
- fmove.s $30(a7),fp1
- fmove.s $2C(a7),fp2
- fmove.s $28(a7),fp3
- L81
- ; if (INSIDE_BEGIN_END(ctx))
- move.l a0,a1
- add.l #$E08A,a1
- move.l (a1),d0
- cmp.l #$1A00,d0
- beq.b L83
- L82
- ; gl_error( ctx, GL_INVALID_OPERATION, "glClearColor" );
- move.l #L80,-(a7)
- pea $502.w
- move.l a0,-(a7)
- jsr _gl_error
- add.w #$C,a7
- fmovem.x (a7)+,fp2/fp3
- movem.l (a7)+,d2/d3
- rts
- L83
- ; ctx->Color.ClearColor[0] = CLAMP( red, 0.0F, 1.0F );
- fcmp.s #$.00000000,fp3
- fboge.b L85
- L84
- fmove.s #$.00000000,fp3
- bra.b L89
- L85
- fcmp.s #$.3F800000,fp3
- fbole.b L87
- L86
- fmove.s #$.3F800000,fp3
- L87
- L88
- L89
- lea $1E78(a0),a1
- fmove.s fp3,(a1)
- ; ctx->Color.ClearColor[1] = CLAMP( green, 0.0F, 1.0F );
- fcmp.s #$.00000000,fp2
- fboge.b L91
- L90
- fmove.s #$.00000000,fp2
- bra.b L95
- L91
- fcmp.s #$.3F800000,fp2
- fbole.b L93
- L92
- fmove.s #$.3F800000,fp2
- L93
- L94
- L95
- lea $1E78(a0),a1
- addq.w #4,a1
- fmove.s fp2,(a1)
- ; ctx->Color.ClearColor[2] = CLAMP( blue, 0.0F, 1.0F );
- fcmp.s #$.00000000,fp1
- fboge.b L97
- L96
- fmove.s #$.00000000,fp1
- bra.b L101
- L97
- fcmp.s #$.3F800000,fp1
- fbole.b L99
- L98
- fmove.s #$.3F800000,fp1
- L99
- L100
- L101
- lea $1E78(a0),a1
- addq.w #$8,a1
- fmove.s fp1,(a1)
- ; ctx->Color.ClearColor[3] = CLAMP( alpha, 0.0F, 1.0F );
- fcmp.s #$.00000000,fp0
- fboge.b L103
- L102
- fmove.s #$.00000000,fp0
- bra.b L107
- L103
- fcmp.s #$.3F800000,fp0
- fbole.b L105
- L104
- fmove.s #$.3F800000,fp0
- L105
- L106
- L107
- lea $1E78(a0),a1
- add.w #$C,a1
- fmove.s fp0,(a1)
- ; if (ctx->Visual->RGBAflag)
- move.l $898(a0),a1
- move.b (a1),d0
- beq L109
- L108
- ; GLubyte r = (GLint) (ctx->Color.ClearColor[0] * ctx->Vis
- lea $1E78(a0),a1
- fmove.s (a1),fp0
- move.l $898(a0),a1
- fmove.s 2(a1),fp1
- fmul.x fp1,fp0
- fmove.l fp0,d0
- move.b d0,d3
- ; GLubyte g = (GLint) (ctx->Color.ClearColor[1] * ctx->Vis
- lea $1E78(a0),a1
- addq.w #4,a1
- fmove.s (a1),fp0
- move.l $898(a0),a1
- fmove.s 6(a1),fp1
- fmul.x fp1,fp0
- fmove.l fp0,d0
- move.b d0,d2
- ; GLubyte b = (GLint) (ctx->Color.ClearColor[2] * ctx->Vis
- lea $1E78(a0),a1
- addq.w #$8,a1
- fmove.s (a1),fp0
- move.l $898(a0),a1
- fmove.s $A(a1),fp1
- fmul.x fp1,fp0
- fmove.l fp0,d0
- move.b d0,d1
- ; GLubyte a = (GLint) (ctx->Color.ClearColor[3] * ctx->Vis
- lea $1E78(a0),a1
- add.w #$C,a1
- fmove.s (a1),fp0
- move.l $898(a0),a1
- fmove.s $E(a1),fp1
- fmul.x fp1,fp0
- fmove.l fp0,d0
- ; (*ctx->Driver.ClearColor)( ctx, r, g, b, a );
- move.b d0,-(a7)
- move.b d1,-(a7)
- move.b d2,-(a7)
- move.b d3,-(a7)
- move.l a0,-(a7)
- add.w #$8A0,a0
- move.l $C(a0),a0
- jsr (a0)
- add.w #$C,a7
- L109
- fmovem.x (a7)+,fp2/fp3
- movem.l (a7)+,d2/d3
- rts
-
- L80
- dc.b 'glClearColor',0
-
- SECTION "_clear_color_buffer_with_masking:0",CODE
-
-
- ;static void clear_color_buffer_with_masking( GLcontext *ctx )
- _clear_color_buffer_with_masking
- L127 EQU -$1F64
- link a5,#L127
- movem.l d2-d5/a2,-(a7)
- move.l $8(a5),a2
- L110
- ; if (ctx->Scissor.Enabled)
- move.l a2,a0
- add.l #$D714,a0
- lea (a0),a0
- move.b (a0),d0
- beq.b L112
- L111
- ; x = ctx->Buffer->Xmin;
- move.l $89C(a2),a0
- move.l $24(a0),d4
- ; y = ctx->Buffer->Ymin;
- move.l $89C(a2),a0
- move.l $2C(a0),d3
- ; height = ctx->Buffer->Ymax - ctx->Buffer->Ymin + 1;
- move.l $89C(a2),a0
- move.l $30(a0),d5
- move.l $89C(a2),a0
- move.l $2C(a0),d0
- sub.l d0,d5
- addq.l #1,d5
- ; width = ctx->Buffer->Xmax - ctx->Buffer->Xmin + 1;
- move.l $89C(a2),a0
- move.l $28(a0),d2
- move.l $89C(a2),a0
- move.l $24(a0),d0
- sub.l d0,d2
- addq.l #1,d2
- bra.b L113
- L112
- ; x = 0;
- moveq #0,d4
- ; y = 0;
- moveq #0,d3
- ; height = ctx->Buffer->Height;
- move.l $89C(a2),a0
- move.l $8(a0),d5
- ; width = ctx->Buffer->Width;
- move.l $89C(a2),a0
- move.l 4(a0),d2
- L113
- ; if (ctx->Visual->RGBAflag)
- move.l $898(a2),a0
- move.b (a0),d0
- beq L120
- L114
- ; GLubyte r = ctx->Color.ClearColor[0] * ctx->Visual->RedS
- lea $1E78(a2),a0
- fmove.s (a0),fp0
- move.l $898(a2),a0
- fmove.s 2(a0),fp1
- fmul.x fp1,fp0
- fmove.l fp0,d0
- move.b d0,-$1911(a5)
- ; GLubyte g = ctx->Color.ClearColor[1] * ctx->Visual->Gree
- lea $1E78(a2),a0
- addq.w #4,a0
- fmove.s (a0),fp0
- move.l $898(a2),a0
- fmove.s 6(a0),fp1
- fmul.x fp1,fp0
- fmove.l fp0,d0
- move.b d0,-$1912(a5)
- ; GLubyte b = ctx->Color.ClearColor[2] * ctx->Visual->Blue
- lea $1E78(a2),a0
- addq.w #$8,a0
- fmove.s (a0),fp0
- move.l $898(a2),a0
- fmove.s $A(a0),fp1
- fmul.x fp1,fp0
- fmove.l fp0,d0
- move.b d0,-$1913(a5)
- ; GLubyte a = ctx->Color.ClearColor[3] * ctx->Visual->Alph
- lea $1E78(a2),a0
- add.w #$C,a0
- fmove.s (a0),fp0
- move.l $898(a2),a0
- fmove.s $E(a0),fp1
- fmul.x fp1,fp0
- fmove.l fp0,d0
- move.b d0,-$1914(a5)
- ; for (i=0;
- clr.l -$1918(a5)
- bra L118
- L115
- ; MEMSET( red, (int) r, width );
- move.l d2,-(a7)
- moveq #0,d0
- move.b -$1911(a5),d0
- move.l d0,-(a7)
- lea -$650(a5),a0
- move.l a0,-(a7)
- jsr _memset
- add.w #$C,a7
- ; MEMSET( green, (int) g, width );
- move.l d2,-(a7)
- moveq #0,d0
- move.b -$1912(a5),d0
- move.l d0,-(a7)
- lea -$C90(a5),a0
- move.l a0,-(a7)
- jsr _memset
- add.w #$C,a7
- ; MEMSET( blue, (int) b, width );
- move.l d2,-(a7)
- moveq #0,d0
- move.b -$1913(a5),d0
- move.l d0,-(a7)
- lea -$12D0(a5),a0
- move.l a0,-(a7)
- jsr _memset
- add.w #$C,a7
- ; MEMSET( alpha, (int) a, width );
- move.l d2,-(a7)
- moveq #0,d0
- move.b -$1914(a5),d0
- move.l d0,-(a7)
- lea -$1910(a5),a0
- move.l a0,-(a7)
- jsr _memset
- add.w #$C,a7
- ; gl_mask_color_span( ctx, width, x, y, red, green, blue, alpha );
- lea -$1910(a5),a0
- move.l a0,-(a7)
- lea -$12D0(a5),a0
- move.l a0,-(a7)
- lea -$C90(a5),a0
- move.l a0,-(a7)
- lea -$650(a5),a0
- move.l a0,-(a7)
- move.l d3,-(a7)
- move.l d4,-(a7)
- move.l d2,-(a7)
- move.l a2,-(a7)
- jsr _gl_mask_color_span
- add.w #$20,a7
- ; (*ctx->Driver.WriteColorSpan)( ctx,
- clr.l -(a7)
- lea -$1910(a5),a0
- move.l a0,-(a7)
- lea -$12D0(a5),a0
- move.l a0,-(a7)
- lea -$C90(a5),a0
- move.l a0,-(a7)
- lea -$650(a5),a0
- move.l a0,-(a7)
- move.l d3,-(a7)
- move.l d4,-(a7)
- move.l d2,-(a7)
- move.l a2,-(a7)
- lea $8A0(a2),a0
- move.l $24(a0),a0
- jsr (a0)
- add.w #$24,a7
- ; if (ctx->RasterMask & ALPHABUF_BIT)
- move.l a2,a0
- add.l #$E096,a0
- move.l (a0),d0
- and.l #$100,d0
- beq.b L117
- L116
- ; gl_write_alpha_span( ctx, width, x, y, alpha, NULL );
- clr.l -(a7)
- lea -$1910(a5),a0
- move.l a0,-(a7)
- move.l d3,-(a7)
- move.l d4,-(a7)
- move.l d2,-(a7)
- move.l a2,-(a7)
- jsr _gl_write_alpha_span
- add.w #$18,a7
- L117
- addq.l #1,-$1918(a5)
- addq.l #1,d3
- L118
- move.l -$1918(a5),d0
- cmp.l d5,d0
- blt L115
- L119
- bra L126
- L120
- ; MEMSET( mask, 1, width );
- move.l d2,-(a7)
- pea 1.w
- lea -$1F50(a5),a0
- move.l a0,-(a7)
- jsr _memset
- add.w #$C,a7
- ; for (i=0;
- clr.l -$1F54(a5)
- bra.b L125
- L121
- ; for (j=0;
- moveq #0,d0
- bra.b L123
- L122
- ; indx[j] = ctx->Color.ClearIndex;
- lea $1E74(a2),a0
- move.l (a0),d1
- lea -$1910(a5),a0
- lea 0(a0,d0.l*4),a0
- move.l d1,(a0)
- addq.l #1,d0
- L123
- cmp.l d2,d0
- blt.b L122
- L124
- ; gl_mask_index_span( ctx, width, x, y, indx );
- lea -$1910(a5),a0
- move.l a0,-(a7)
- move.l d3,-(a7)
- move.l d4,-(a7)
- move.l d2,-(a7)
- move.l a2,-(a7)
- jsr _gl_mask_index_span
- add.w #$14,a7
- ; (*ctx->Driver.WriteIndexSpan)( ctx, width, x, y, indx, mask );
- lea -$1F50(a5),a0
- move.l a0,-(a7)
- lea -$1910(a5),a0
- move.l a0,-(a7)
- move.l d3,-(a7)
- move.l d4,-(a7)
- move.l d2,-(a7)
- move.l a2,-(a7)
- lea $8A0(a2),a0
- move.l $34(a0),a0
- jsr (a0)
- add.w #$18,a7
- addq.l #1,-$1F54(a5)
- addq.l #1,d3
- L125
- move.l -$1F54(a5),d0
- cmp.l d5,d0
- blt.b L121
- L126
- movem.l (a7)+,d2-d5/a2
- unlk a5
- rts
-
- SECTION "_clear_color_buffers:0",CODE
-
-
- ;static void clear_color_buffers( GLcontext *ctx )
- _clear_color_buffers
- movem.l d2-d4/a2,-(a7)
- move.l $14(a7),a2
- L128
- ; if (ctx->Color.SWmasking)
- lea $1E74(a2),a0
- move.b $1C(a0),d0
- beq.b L130
- L129
- ; clear_color_buffer_with_masking( ctx );
- move.l a2,-(a7)
- jsr _clear_color_buffer_with_masking
- addq.w #4,a7
- bra L132
- L130
- ; GLint x = ctx->Buffer->Xmin;
- move.l $89C(a2),a0
- move.l $24(a0),d4
- ; GLint y = ctx->Buffer->Ymin;
- move.l $89C(a2),a0
- move.l $2C(a0),d3
- ; GLint height = ctx->Buffer->Ymax - ctx->Buffer->Ymin + 1;
- move.l $89C(a2),a0
- move.l $30(a0),d1
- move.l $89C(a2),a0
- move.l $2C(a0),d0
- sub.l d0,d1
- addq.l #1,d1
- ; GLint width = ctx->Buffer->Xmax - ctx->Buffer->Xmin + 1;
- move.l $89C(a2),a0
- move.l $28(a0),d0
- move.l $89C(a2),a0
- move.l $24(a0),d2
- sub.l d2,d0
- addq.l #1,d0
- ; (*ctx->Driver.Clear)( ctx, !ctx->Scissor.Enabled,
- move.l d1,-(a7)
- move.l d0,-(a7)
- move.l d3,-(a7)
- move.l d4,-(a7)
- move.l a2,a0
- add.l #$D714,a0
- lea (a0),a0
- move.b (a0),d0
- seq d0
- and.l #1,d0
- move.b d0,-(a7)
- move.l a2,-(a7)
- lea $8A0(a2),a0
- move.l $10(a0),a0
- jsr (a0)
- add.w #$16,a7
- ; if (ctx->RasterMask & ALPHABUF_BIT)
- move.l a2,a0
- add.l #$E096,a0
- move.l (a0),d0
- and.l #$100,d0
- beq.b L132
- L131
- ; gl_clear_alpha_buffers( ctx );
- move.l a2,-(a7)
- jsr _gl_clear_alpha_buffers
- addq.w #4,a7
- L132
- ; if (ctx->RasterMask & FRONT_AND_BACK_BIT)
- move.l a2,a0
- add.l #$E096,a0
- move.l (a0),d0
- and.l #$400,d0
- beq L137
- L133
- ; (*ctx->Driver.SetBuffer)( ctx, GL_BACK );
- pea $405.w
- move.l a2,-(a7)
- lea $8A0(a2),a0
- move.l $1C(a0),a0
- jsr (a0)
- addq.w #$8,a7
- ; if (ctx->Color.SWmasking)
- lea $1E74(a2),a0
- move.b $1C(a0),d0
- beq.b L135
- L134
- ; clear_color_buffer_with_masking( ctx );
- move.l a2,-(a7)
- jsr _clear_color_buffer_with_masking
- addq.w #4,a7
- bra.b L136
- L135
- ; GLint x = ctx->Buffer->Xmin;
- move.l $89C(a2),a0
- move.l $24(a0),d4
- ; GLint y = ctx->Buffer->Ymin;
- move.l $89C(a2),a0
- move.l $2C(a0),d3
- ; GLint height = ctx->Buffer->Ymax - ctx->Buffer->Ymin + 1;
- move.l $89C(a2),a0
- move.l $30(a0),d1
- move.l $89C(a2),a0
- move.l $2C(a0),d0
- sub.l d0,d1
- addq.l #1,d1
- ; GLint width = ctx->Buffer->Xmax - ctx->Buffer->Xmin + 1;
- move.l $89C(a2),a0
- move.l $28(a0),d0
- move.l $89C(a2),a0
- move.l $24(a0),d2
- sub.l d2,d0
- addq.l #1,d0
- ; (*ctx->Driver.Clear)( ctx, !ctx->Scissor.Enabled,
- move.l d1,-(a7)
- move.l d0,-(a7)
- move.l d3,-(a7)
- move.l d4,-(a7)
- move.l a2,a0
- add.l #$D714,a0
- lea (a0),a0
- move.b (a0),d0
- seq d0
- and.l #1,d0
- move.b d0,-(a7)
- move.l a2,-(a7)
- lea $8A0(a2),a0
- move.l $10(a0),a0
- jsr (a0)
- add.w #$16,a7
- L136
- ; (*ctx->Driver.SetBuffer)( ctx, GL_FRONT );
- pea $404.w
- move.l a2,-(a7)
- lea $8A0(a2),a0
- move.l $1C(a0),a0
- jsr (a0)
- addq.w #$8,a7
- L137
- movem.l (a7)+,d2-d4/a2
- rts
-
- SECTION "_gl_Clear:0",CODE
-
-
- ;void gl_Clear( GLcontext *ctx, GLbitfield mask )
- XDEF _gl_Clear
- _gl_Clear
- movem.l d2/a2,-(a7)
- move.l $10(a7),d2
- move.l $C(a7),a2
- L139
- ; if (INSIDE_BEGIN_END(ctx))
- move.l a2,a0
- add.l #$E08A,a0
- move.l (a0),d0
- cmp.l #$1A00,d0
- beq.b L141
- L140
- ; gl_error( ctx, GL_INVALID_OPERATION, "glClear" );
- move.l #L138,-(a7)
- pea $502.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/a2
- rts
- L141
- ; if (ctx->RenderMode==GL_RENDER)
- move.l a2,a0
- add.l #$E086,a0
- move.l (a0),d0
- cmp.l #$1C00,d0
- bne.b L152
- L142
- ; if (ctx->NewState)
- move.l a2,a0
- add.l #$E082,a0
- move.l (a0),d0
- beq.b L144
- L143
- ; gl_update_state( ctx );
- move.l a2,-(a7)
- jsr _gl_update_state
- addq.w #4,a7
- L144
- ; if (mask & GL_COLOR_BUFFER_BIT)
- move.l d2,d0
- and.l #$4000,d0
- beq.b L146
- L145
- ; if (mask & GL_COLOR_BU
- move.l a2,-(a7)
- jsr _clear_color_buffers
- addq.w #4,a7
- L146
- ; if (mask & GL_DEPTH_BUFFER_BIT)
- move.l d2,d0
- and.l #$100,d0
- beq.b L148
- L147
- ; if (mask & GL_DEPTH_BU
- move.l a2,-(a7)
- lea $8A0(a2),a0
- move.l $78(a0),a0
- jsr (a0)
- addq.w #4,a7
- L148
- ; if (mask & GL_ACCUM_BUFFER_BIT)
- move.l d2,d0
- and.l #$200,d0
- beq.b L150
- L149
- ; if (mask & GL_ACCUM_BU
- move.l a2,-(a7)
- jsr _gl_clear_accum_buffer
- addq.w #4,a7
- L150
- ; if (mask & GL_STENCIL_BUFFER_BIT)
- and.l #$400,d2
- beq.b L152
- L151
- ; if (mask & GL_STENCIL_
- move.l a2,-(a7)
- jsr _gl_clear_stencil_buffer
- addq.w #4,a7
- L152
- movem.l (a7)+,d2/a2
- rts
-
- L138
- dc.b 'glClear',0
-
- SECTION "_gl_GetString:0",CODE
-
-
- ;const GLubyte *gl_GetString( GLcontext *ctx, GLenum name )
- XDEF _gl_GetString
- _gl_GetString
- move.l a2,-(a7)
- move.l $C(a7),d1
- move.l $8(a7),a2
- L156
- ; if (INSIDE_BEGIN_END(ctx))
- move.l a2,a0
- add.l #$E08A,a0
- move.l (a0),d0
- cmp.l #$1A00,d0
- beq.b L158
- L157
- ; gl_error( ctx, GL_INVALID_OPERATION, "glGetString" );
- move.l #L153,-(a7)
- pea $502.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- moveq #0,d0
- move.l (a7)+,a2
- rts
- L158
- ; switch (name)
- cmp.l #$1F02,d1
- beq L163
- bgt.b L166
- cmp.l #$1F00,d1
- beq.b L159
- cmp.l #$1F01,d1
- beq.b L160
- bra L165
- L166
- cmp.l #$1F03,d1
- beq.b L164
- bra.b L165
- ;
- L159
- move.l _vendor___gl_GetString,d0
- move.l (a7)+,a2
- rts
- L160
- ; strcpy(renderer, "Mesa");
- move.l #L154,-(a7)
- move.l #_renderer___gl_GetString,-(a7)
- jsr _strcpy
- addq.w #$8,a7
- ; if (ctx->Driver.RendererString)
- lea $8A0(a2),a0
- move.l (a0),a0
- cmp.w #0,a0
- beq.b L162
- L161
- ; strcat(renderer, " ");
- move.l #L155,-(a7)
- move.l #_renderer___gl_GetString,-(a7)
- jsr _strcat
- addq.w #$8,a7
- ; strcat(renderer, (*ctx->Driver.RendererString)());
- lea $8A0(a2),a0
- move.l (a0),a0
- jsr (a0)
- move.l d0,-(a7)
- move.l #_renderer___gl_GetString,-(a7)
- jsr _strcat
- addq.w #$8,a7
- L162
- move.l #_renderer___gl_GetString,d0
- move.l (a7)+,a2
- rts
- L163
- move.l _version___gl_GetString,d0
- move.l (a7)+,a2
- rts
- L164
- move.l _extensions___gl_GetString,d0
- move.l (a7)+,a2
- rts
- L165
- ; gl_error( ctx, GL_INVALID_ENUM, "glGetString" );
- move.l #L153,-(a7)
- pea $500.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- moveq #0,d0
- move.l (a7)+,a2
- rts
-
- L155
- dc.b ' ',0
- L154
- dc.b 'Mesa',0
- L153
- dc.b 'glGetString',0
-
- SECTION "_gl_GetString:1",DATA
-
- _vendor___gl_GetString
- dc.l L70
- _version___gl_GetString
- dc.l L71
- _extensions___gl_GetString
- dc.l L72
-
- SECTION "_gl_GetString:2",BSS
-
- _renderer___gl_GetString
- ds.b 1000
-
- SECTION "_gl_Finish:0",CODE
-
-
- ;void gl_Finish( GLcontext *ctx )
- XDEF _gl_Finish
- _gl_Finish
- move.l 4(a7),a0
- L168
- ; if (INSIDE_BEGIN_END(ctx))
- move.l a0,a1
- add.l #$E08A,a1
- move.l (a1),d0
- cmp.l #$1A00,d0
- beq.b L170
- L169
- ; gl_error( ctx, GL_INVALID_OPERATION, "glFinish" );
- move.l #L167,-(a7)
- pea $502.w
- move.l a0,-(a7)
- jsr _gl_error
- add.w #$C,a7
- rts
- L170
- ; if (ctx->Driver.Finish)
- lea $8A0(a0),a1
- move.l $54(a1),a1
- cmp.w #0,a1
- beq.b L172
- L171
- ; (*ctx->Driver.Finish)( ctx );
- move.l a0,-(a7)
- add.w #$8A0,a0
- move.l $54(a0),a0
- jsr (a0)
- addq.w #4,a7
- L172
- rts
-
- L167
- dc.b 'glFinish',0
-
- SECTION "_gl_Flush:0",CODE
-
-
- ;void gl_Flush( GLcontext *ctx )
- XDEF _gl_Flush
- _gl_Flush
- move.l 4(a7),a0
- L174
- ; if (INSIDE_BEGIN_END(ctx))
- move.l a0,a1
- add.l #$E08A,a1
- move.l (a1),d0
- cmp.l #$1A00,d0
- beq.b L176
- L175
- ; gl_error( ctx, GL_INVALID_OPERATION, "glFlush" );
- move.l #L173,-(a7)
- pea $502.w
- move.l a0,-(a7)
- jsr _gl_error
- add.w #$C,a7
- rts
- L176
- ; if (ctx->Driver.Flush)
- lea $8A0(a0),a1
- move.l $58(a1),a1
- cmp.w #0,a1
- beq.b L178
- L177
- ; (*ctx->Driver.Flush)( ctx );
- move.l a0,-(a7)
- add.w #$8A0,a0
- move.l $58(a0),a0
- jsr (a0)
- addq.w #4,a7
- L178
- rts
-
- L173
- dc.b 'glFlush',0
-
- SECTION "_gl_Hint:0",CODE
-
-
- ;void gl_Hint( GLcontext *ctx, GLenum target, GLenum mode )
- XDEF _gl_Hint
- _gl_Hint
- movem.l d2/a2,-(a7)
- move.l $14(a7),d0
- move.l $10(a7),d2
- move.l $C(a7),a2
- L182
- ; if (INSIDE_BEGIN_END(ctx))
- move.l a2,a0
- add.l #$E08A,a0
- move.l (a0),d1
- cmp.l #$1A00,d1
- beq.b L184
- L183
- ; gl_error( ctx, GL_INVALID_OPERATION, "glHint" );
- move.l #L179,-(a7)
- pea $502.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/a2
- rts
- L184
- ; if (mode!=GL_DONT_CARE && mode!=GL_FASTEST && mode!=GL_NICEST)
- cmp.l #$1100,d0
- beq.b L188
- L185
- cmp.l #$1101,d0
- beq.b L188
- L186
- cmp.l #$1102,d0
- beq.b L188
- L187
- ; gl_error( ctx, GL_INVALID_ENUM, "glHint(mode)" );
- move.l #L180,-(a7)
- pea $500.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/a2
- rts
- L188
- ; switch (target)
- cmp.l #$C52,d2
- beq.b L190
- bgt.b L196
- cmp.l #$C50,d2
- beq.b L191
- cmp.l #$C51,d2
- beq.b L192
- bra.b L194
- L196
- cmp.l #$C53,d2
- beq.b L193
- cmp.l #$C54,d2
- beq.b L189
- bra.b L194
- ;
- L189
- ; ctx->Hint.Fog = mode;
- move.l d0,$1F9C(a2)
- ;
- bra.b L195
- L190
- ; ctx->Hint.LineSmooth = mode;
- move.l d0,$1F94(a2)
- ;
- bra.b L195
- L191
- ; ctx->Hint.PerspectiveCorrection = mode;
- move.l d0,$1F8C(a2)
- ;
- bra.b L195
- L192
- ; ctx->Hint.PointSmooth = mode;
- move.l d0,$1F90(a2)
- ;
- bra.b L195
- L193
- ; ctx->Hint.PolygonSmooth = mode;
- move.l d0,$1F98(a2)
- ;
- bra.b L195
- L194
- ; gl_error( ctx, GL_INVALID_ENUM, "glHint(target)" );
- move.l #L181,-(a7)
- pea $500.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- L195
- ; ctx->NewState |= NEW_ALL;
- move.l a2,a0
- add.l #$E082,a0
- move.l (a0),d0
- or.l #$F,d0
- move.l a2,a0
- add.l #$E082,a0
- move.l d0,(a0)
- ; i++;
- movem.l (a7)+,d2/a2
- rts
-
- L179
- dc.b 'glHint',0
- L180
- dc.b 'glHint(mode)',0
- L181
- dc.b 'glHint(target)',0
-
- SECTION "_gl_DrawBuffer:0",CODE
-
-
- ;void gl_DrawBuffer( GLcontext *ctx, GLenum mode )
- XDEF _gl_DrawBuffer
- _gl_DrawBuffer
- movem.l d2/a2,-(a7)
- move.l $10(a7),d2
- move.l $C(a7),a2
- L198
- ; if (INSIDE_BEGIN_END(ctx))
- move.l a2,a0
- add.l #$E08A,a0
- move.l (a0),d0
- cmp.l #$1A00,d0
- beq.b L200
- L199
- ; gl_error( ctx, GL_INVALID_OPERATION, "glDrawBuffer" );
- move.l #L197,-(a7)
- pea $502.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/a2
- rts
- L200
- ; switch (mode)
- move.l d2,d0
- cmp.l #$404,d0
- beq.b L201
- bgt.b L211
- cmp.l #$401,d0
- beq L208
- bgt.b L212
- cmp.l #0,d0
- beq L207
- cmp.l #$400,d0
- beq.b L201
- bra L209
- L212
- cmp.l #$402,d0
- beq L204
- cmp.l #$403,d0
- beq L208
- bra L209
- L211
- cmp.l #$407,d0
- beq L208
- bgt.b L213
- cmp.l #$405,d0
- beq L204
- cmp.l #$406,d0
- beq L208
- bra L209
- L213
- cmp.l #$408,d0
- beq.b L201
- cmp.l #$409,d0
- beq L208
- bra L209
- ;
- L201
- ; if ( (*ctx->Driver.SetBuffer)( ctx, GL_FRONT ) == GL_FALSE )
- pea $404.w
- move.l a2,-(a7)
- lea $8A0(a2),a0
- move.l $1C(a0),a0
- jsr (a0)
- addq.w #$8,a7
- tst.b d0
- bne.b L203
- L202
- ; gl_error( ctx, GL_INVALID_ENUM, "glDrawBuffer" );
- move.l #L197,-(a7)
- pea $500.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/a2
- rts
- L203
- ; ctx->Color.DrawBuffer = mode;
- move.l d2,$1E92(a2)
- ; ctx->Buffer->Alpha = ctx->Buffer->FrontAlpha;
- move.l $89C(a2),a0
- move.l $18(a0),a1
- move.l $89C(a2),a0
- move.l a1,$20(a0)
- ; ctx->NewState |= NEW_RASTER_OPS;
- move.l a2,a0
- add.l #$E082,a0
- move.l (a0),d0
- or.l #2,d0
- move.l a2,a0
- add.l #$E082,a0
- move.l d0,(a0)
- ;
- bra L210
- L204
- ; if ( (*ctx->Driver.SetBuffer)( ctx, GL_BACK ) == GL_FALSE)
- pea $405.w
- move.l a2,-(a7)
- lea $8A0(a2),a0
- move.l $1C(a0),a0
- jsr (a0)
- addq.w #$8,a7
- tst.b d0
- bne.b L206
- L205
- ; gl_error( ctx, GL_INVALID_ENUM, "glDrawBuffer" );
- move.l #L197,-(a7)
- pea $500.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/a2
- rts
- L206
- ; ctx->Color.DrawBuffer = mode;
- move.l d2,$1E92(a2)
- ; ctx->Buffer->Alpha = ctx->Buffer->BackAlpha;
- move.l $89C(a2),a0
- move.l $1C(a0),a1
- move.l $89C(a2),a0
- move.l a1,$20(a0)
- ; ctx->NewState |= NEW_RASTER_OPS;
- move.l a2,a0
- add.l #$E082,a0
- move.l (a0),d0
- or.l #2,d0
- move.l a2,a0
- add.l #$E082,a0
- move.l d0,(a0)
- ;
- bra.b L210
- L207
- ; ctx->Color.DrawBuffer = mode;
- move.l d2,$1E92(a2)
- ; ctx->Buffer->Alpha = NULL;
- move.l $89C(a2),a0
- clr.l $20(a0)
- ; ctx->NewState |= NEW_RASTER_OPS;
- move.l a2,a0
- add.l #$E082,a0
- move.l (a0),d0
- or.l #2,d0
- move.l a2,a0
- add.l #$E082,a0
- move.l d0,(a0)
- ;
- bra.b L210
- L208
- ; gl_error( ctx, GL_INVALID_OPERATION, "glDrawBuffer" );
- move.l #L197,-(a7)
- pea $502.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- ;
- bra.b L210
- L209
- ; gl_error( ctx, GL_INVALID_ENUM, "glDrawBuffer" );
- move.l #L197,-(a7)
- pea $500.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- L210
- movem.l (a7)+,d2/a2
- rts
-
- L197
- dc.b 'glDrawBuffer',0
-
- SECTION "_gl_ReadBuffer:0",CODE
-
-
- ;void gl_ReadBuffer( GLcontext *ctx, GLenum mode )
- XDEF _gl_ReadBuffer
- _gl_ReadBuffer
- movem.l d2/a2,-(a7)
- move.l $10(a7),d2
- move.l $C(a7),a2
- L215
- ; if (INSIDE_BEGIN_END(ctx))
- move.l a2,a0
- add.l #$E08A,a0
- move.l (a0),d0
- cmp.l #$1A00,d0
- beq.b L217
- L216
- ; gl_error( ctx, GL_INVALID_OPERATION, "glReadBuffer" );
- move.l #L214,-(a7)
- pea $502.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/a2
- rts
- L217
- ; switch (mode)
- move.l d2,d0
- sub.l #$400,d0
- cmp.l #$9,d0
- bhi L225
- move.l L227(pc,d0.l*4),a0
- jmp (a0)
- L227
- dc.l L218
- dc.l L224
- dc.l L221
- dc.l L224
- dc.l L218
- dc.l L221
- dc.l L224
- dc.l L224
- dc.l L225
- dc.l L224
- ;
- L218
- ; if ( (*ctx->Driver.SetBuffer)( ctx, GL_FRONT ) == GL_FALSE)
- pea $404.w
- move.l a2,-(a7)
- lea $8A0(a2),a0
- move.l $1C(a0),a0
- jsr (a0)
- addq.w #$8,a7
- tst.b d0
- bne.b L220
- L219
- ; gl_error( ctx, GL_INVALID_ENUM, "glReadBuffer" );
- move.l #L214,-(a7)
- pea $500.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/a2
- rts
- L220
- ; ctx->Pixel.ReadBuffer = mode;
- move.l a2,a0
- add.l #$ADEC,a0
- move.l d2,(a0)
- ; ctx->Buffer->Alpha = ctx->Buffer->FrontAlpha;
- move.l $89C(a2),a0
- move.l $18(a0),a1
- move.l $89C(a2),a0
- move.l a1,$20(a0)
- ; ctx->NewState |= NEW_RASTER_OPS;
- move.l a2,a0
- add.l #$E082,a0
- move.l (a0),d0
- or.l #2,d0
- move.l a2,a0
- add.l #$E082,a0
- move.l d0,(a0)
- ;
- bra L226
- L221
- ; if ( (*ctx->Driver.SetBuffer)( ctx, GL_BACK ) == GL_FALSE)
- pea $405.w
- move.l a2,-(a7)
- lea $8A0(a2),a0
- move.l $1C(a0),a0
- jsr (a0)
- addq.w #$8,a7
- tst.b d0
- bne.b L223
- L222
- ; gl_error( ctx, GL_INVALID_ENUM, "glReadBuffer" );
- move.l #L214,-(a7)
- pea $500.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- movem.l (a7)+,d2/a2
- rts
- L223
- ; ctx->Pixel.ReadBuffer = mode;
- move.l a2,a0
- add.l #$ADEC,a0
- move.l d2,(a0)
- ; ctx->Buffer->Alpha = ctx->Buffer->BackAlpha;
- move.l $89C(a2),a0
- move.l $1C(a0),a1
- move.l $89C(a2),a0
- move.l a1,$20(a0)
- ; ctx->NewState |= NEW_RASTER_OPS;
- move.l a2,a0
- add.l #$E082,a0
- move.l (a0),d0
- or.l #2,d0
- move.l a2,a0
- add.l #$E082,a0
- move.l d0,(a0)
- ;
- bra.b L226
- L224
- ; gl_error( ctx, GL_INVALID_OPERATION, "glReadBuffer" );
- move.l #L214,-(a7)
- pea $502.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- ;
- bra.b L226
- L225
- ; gl_error( ctx, GL_INVALID_ENUM, "glReadBuffer" );
- move.l #L214,-(a7)
- pea $500.w
- move.l a2,-(a7)
- jsr _gl_error
- add.w #$C,a7
- L226
- ; (void) (*ctx->Driver.SetBuffer)( ctx, ctx->Color.DrawBuffer );
- lea $1E74(a2),a0
- move.l $1E(a0),d0
- move.l d0,-(a7)
- move.l a2,-(a7)
- lea $8A0(a2),a0
- move.l $1C(a0),a0
- jsr (a0)
- addq.w #$8,a7
- movem.l (a7)+,d2/a2
- rts
-
- L214
- dc.b 'glReadBuffer',0
-
- END
-