240 lines
8.2 KiB
C++
240 lines
8.2 KiB
C++
|
/*
|
||
|
* Copyright (c) 1993-1995 Argonaut Technologies Limited. All rights reserved.
|
||
|
*
|
||
|
* $Id: PRIM_IP.H 1.1 1996/09/26 19:03:56 JOHNG Exp $
|
||
|
* $Locker: $
|
||
|
*
|
||
|
* Prototypes for functions internal to library
|
||
|
*/
|
||
|
#ifndef _PRIM_IP_H_
|
||
|
#define _PRIM_IP_H_
|
||
|
|
||
|
#ifndef _NO_PROTOTYPES
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* rcp.c
|
||
|
*/
|
||
|
extern unsigned long BR_ASM_DATA _reciprocal[2048];
|
||
|
|
||
|
/*
|
||
|
* ti8_piz.asm
|
||
|
*/
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2(brp_vertex *v0, brp_vertex *v1,brp_vertex *v2);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2I(brp_vertex *v0, brp_vertex *v1,brp_vertex *v2);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2T(brp_vertex *v0, brp_vertex *v1,brp_vertex *v2);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2TI(brp_vertex *v0, brp_vertex *v1,brp_vertex *v2);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2TD(brp_vertex *v0, brp_vertex *v1,brp_vertex *v2);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2TID(brp_vertex *v0, brp_vertex *v1,brp_vertex *v2);
|
||
|
|
||
|
/*
|
||
|
* tt24_piz.asm
|
||
|
*/
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2_RGB_888(brp_vertex *v0, brp_vertex *v1, brp_vertex *v2);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2I_RGB_888(brp_vertex *v0, brp_vertex *v1, brp_vertex *v2);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* tt15_piz.asm
|
||
|
*/
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2_RGB_555(brp_vertex *v0, brp_vertex *v1, brp_vertex *v2);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2I_RGB_555(brp_vertex *v0, brp_vertex *v1, brp_vertex *v2);
|
||
|
|
||
|
/*
|
||
|
* awtmz.c
|
||
|
*/
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2TA(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2TIA(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2TA15(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2TA24(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
|
||
|
/*
|
||
|
* perspz.c
|
||
|
*/
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2TIP1024(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2TIP256(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2TIP64(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2TP1024(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2TP256(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2TP64(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPIZ2TPD1024(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
|
||
|
/*
|
||
|
* l_piz.c
|
||
|
*/
|
||
|
|
||
|
void BR_ASM_CALL LineRenderPIZ2I(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPIZ2T(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPIZ2TI(brp_vertex *v0,brp_vertex *v1);
|
||
|
|
||
|
void BR_ASM_CALL LineRenderPFZ2I(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPFZ2I555(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPFZ2I888(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPFZ4I(brp_vertex *v0,brp_vertex *v1);
|
||
|
|
||
|
void BR_ASM_CALL LineRenderPIZ2T_RGB_888(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPIZ2I_RGB_888(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPIZ2T_RGB_555(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPIZ2I_RGB_555(brp_vertex *v0,brp_vertex *v1);
|
||
|
|
||
|
/*
|
||
|
* p_piz.c
|
||
|
*/
|
||
|
void BR_ASM_CALL PointRenderPIZ2(brp_vertex *v0);
|
||
|
void BR_ASM_CALL PointRenderPIZ2T(brp_vertex *v0);
|
||
|
void BR_ASM_CALL PointRenderPIZ2TI(brp_vertex *v0);
|
||
|
|
||
|
void BR_ASM_CALL PointRenderPIZ2_RGB_888(brp_vertex *v0);
|
||
|
void BR_ASM_CALL PointRenderPIZ2T_RGB_888(brp_vertex *v0);
|
||
|
|
||
|
void BR_ASM_CALL PointRenderPIZ2_RGB_555(brp_vertex *v0);
|
||
|
void BR_ASM_CALL PointRenderPIZ2T_RGB_555(brp_vertex *v0);
|
||
|
|
||
|
/*
|
||
|
* ti8_pi.asm
|
||
|
*/
|
||
|
void BR_ASM_CALL TriangleRenderPI(brp_vertex *v0, brp_vertex *v1,brp_vertex *v2);
|
||
|
void BR_ASM_CALL TriangleRenderPII(brp_vertex *v0, brp_vertex *v1,brp_vertex *v2);
|
||
|
void BR_ASM_CALL TriangleRenderPIT(brp_vertex *v0, brp_vertex *v1,brp_vertex *v2);
|
||
|
void BR_ASM_CALL TriangleRenderPITI(brp_vertex *v0, brp_vertex *v1,brp_vertex *v2);
|
||
|
void BR_ASM_CALL TriangleRenderPITD(brp_vertex *v0, brp_vertex *v1,brp_vertex *v2);
|
||
|
void BR_ASM_CALL TriangleRenderPITID(brp_vertex *v0, brp_vertex *v1,brp_vertex *v2);
|
||
|
|
||
|
/*
|
||
|
* tt24_pi.asm
|
||
|
*/
|
||
|
/*
|
||
|
* 24 bit true colour, perfect, integer
|
||
|
*/
|
||
|
void BR_ASM_CALL TriangleRenderPI_RGB_888(brp_vertex *v0, brp_vertex *v1, brp_vertex *v2);
|
||
|
void BR_ASM_CALL TriangleRenderPII_RGB_888(brp_vertex *v0, brp_vertex *v1, brp_vertex *v2);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* tt15_pi.asm
|
||
|
*/
|
||
|
/*
|
||
|
* 15 bit true colour, perfect, integer
|
||
|
*/
|
||
|
void BR_ASM_CALL TriangleRenderPI_RGB_555(brp_vertex *v0, brp_vertex *v1, brp_vertex *v2);
|
||
|
void BR_ASM_CALL TriangleRenderPII_RGB_555(brp_vertex *v0, brp_vertex *v1, brp_vertex *v2);
|
||
|
|
||
|
/*
|
||
|
* persp.c
|
||
|
*/
|
||
|
void BR_ASM_CALL TriangleRenderPITIP1024(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPITIP256(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPITIP64(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPITP1024(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPITP256(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPITP64(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPITPD1024(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
|
||
|
/*
|
||
|
* awtm.c
|
||
|
*/
|
||
|
void BR_ASM_CALL TriangleRenderPITA(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPITIA(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPITA15(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
void BR_ASM_CALL TriangleRenderPITA24(brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
||
|
|
||
|
/*
|
||
|
* l_pi.c
|
||
|
*/
|
||
|
void BR_ASM_CALL LineRenderPII(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPIT(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPITI(brp_vertex *v0,brp_vertex *v1);
|
||
|
|
||
|
void BR_ASM_CALL LineRenderPFI(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPFI555(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPFI888(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPFI(brp_vertex *v0,brp_vertex *v1);
|
||
|
|
||
|
void BR_ASM_CALL LineRenderPIT_RGB_888(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPII_RGB_888(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPIT_RGB_555(brp_vertex *v0,brp_vertex *v1);
|
||
|
void BR_ASM_CALL LineRenderPII_RGB_555(brp_vertex *v0,brp_vertex *v1);
|
||
|
|
||
|
/*
|
||
|
* p_pi.c
|
||
|
*/
|
||
|
void BR_ASM_CALL PointRenderPI(brp_vertex *v0);
|
||
|
void BR_ASM_CALL PointRenderPIT(brp_vertex *v0);
|
||
|
void BR_ASM_CALL PointRenderPITI(brp_vertex *v0);
|
||
|
|
||
|
void BR_ASM_CALL PointRenderPI_RGB_888(brp_vertex *v0);
|
||
|
void BR_ASM_CALL PointRenderPIT_RGB_888(brp_vertex *v0);
|
||
|
|
||
|
void BR_ASM_CALL PointRenderPI_RGB_555(brp_vertex *v0);
|
||
|
void BR_ASM_CALL PointRenderPIT_RGB_555(brp_vertex *v0);
|
||
|
|
||
|
/*
|
||
|
* safediv.asm
|
||
|
*/
|
||
|
extern int BR_ASM_CALL SafeFixedMac2Div(int,int,int,int,int);
|
||
|
|
||
|
#ifndef __WATCOMC__
|
||
|
extern br_int_32 BR_ASM_CALL _sar16(br_int_32 a);
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* match.c
|
||
|
*/
|
||
|
brp_info * BR_CALLBACK PrimMatch(struct brp_base *pb, br_int_32 prim_type, struct br_renderer *renderer);
|
||
|
|
||
|
/*
|
||
|
* info.c
|
||
|
*/
|
||
|
extern struct local_buffer_info BufferInfo[];
|
||
|
extern struct local_prim_info PrimInfo[];
|
||
|
extern struct brp_base PrimBase;
|
||
|
|
||
|
/*
|
||
|
* setup.c
|
||
|
*/
|
||
|
br_error BR_ASM_CALL GenericBufferAllocate(
|
||
|
struct brp_buffer_info *pp,
|
||
|
void **ppv, br_pixelmap *buffer, br_boolean source_retained, br_token_value *tv);
|
||
|
br_error BR_ASM_CALL GenericBufferUpdate(
|
||
|
struct brp_buffer_info *pp,
|
||
|
void **ppv, br_pixelmap *buffer, br_boolean source_retained, br_token_value *tv);
|
||
|
br_error BR_ASM_CALL GenericBufferFree(
|
||
|
struct brp_buffer_info *pp,
|
||
|
void **ppv);
|
||
|
br_error BR_ASM_CALL GenericBufferSize(
|
||
|
struct brp_buffer_info *pp,
|
||
|
br_int_32 *psize, br_uint_32 *ptotal, br_uint_32 *pavail,
|
||
|
void **ppv);
|
||
|
|
||
|
br_error BR_ASM_CALL GenericTableAllocate(
|
||
|
struct brp_buffer_info *pp,
|
||
|
void **ppv, br_pixelmap *buffer, br_boolean source_retained, br_token_value *tv);
|
||
|
br_error BR_ASM_CALL GenericTableUpdate(
|
||
|
struct brp_buffer_info *pp,
|
||
|
void **ppv, br_pixelmap *buffer, br_boolean source_retained, br_token_value *tv);
|
||
|
br_error BR_ASM_CALL GenericTableFree(
|
||
|
struct brp_buffer_info *pp,
|
||
|
void **ppv);
|
||
|
br_error BR_ASM_CALL GenericTableSize(
|
||
|
struct brp_buffer_info *pp,
|
||
|
br_int_32 *psize, br_uint_32 *ptotal, br_uint_32 *pavail,
|
||
|
void **ppv);
|
||
|
|
||
|
void BR_ASM_CALL GenericSetBuffers(struct brp_info *pi, void **params);
|
||
|
|
||
|
/*
|
||
|
* prim.c
|
||
|
*/
|
||
|
brp_base * BR_EXPORT BrPrimBegin(char *args);
|
||
|
void BR_CALLBACK BrPrimEnd(brp_base *pb);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
};
|
||
|
#endif
|
||
|
|
||
|
#endif
|
||
|
#endif
|