112 lines
2.9 KiB
C
112 lines
2.9 KiB
C
/*
|
|
* Copyright (c) 1993-1995 Argonaut Technologies Limited. All rights reserved.
|
|
*
|
|
* Prototypes for functions internal to driver
|
|
*/
|
|
#ifndef _DRV_IP_H_
|
|
#define _DRV_IP_H_
|
|
|
|
#ifndef NO_PROTOTYPES
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*
|
|
* device.c
|
|
*/
|
|
br_error Device3DfxInitialise(br_device * dev);
|
|
extern br_device DriverDevice3Dfx;
|
|
char * BR_CMETHOD_DECL(br_object_3dfx, identifier)( br_object *self);
|
|
br_device * BR_CMETHOD_DECL(br_object_3dfx, device)( br_object *self);
|
|
|
|
/*
|
|
* outfcty.c
|
|
*/
|
|
br_uint_32 OutputFacility3DfxInitialise(br_device *dev, br_primitive_library *prim_lib);
|
|
|
|
/*
|
|
* devpixmp.c
|
|
*/
|
|
br_error DevicePixelmap3DfxAllocateMode(br_device *dev, br_output_facility *type,
|
|
br_device_pixelmap **newpm, br_token_value *tv);
|
|
|
|
/*
|
|
* plib.c
|
|
*/
|
|
extern br_token PrimParts3DFXTokens[];
|
|
br_error PrimitiveLibrary3DfxInitialise(struct br_primitive_library * self, struct br_device *dev);
|
|
|
|
/*
|
|
* pstate.c
|
|
*/
|
|
struct br_primitive_state * PrimitiveState3DfxAllocate(struct br_primitive_library *plib);
|
|
|
|
/*
|
|
* sbuffer.c
|
|
*/
|
|
void SetupRenderBuffer(struct render_buffer *rb, br_device_pixelmap *pm);
|
|
|
|
struct br_buffer_stored * BufferStored3DfxAllocate(struct br_primitive_library *plib,
|
|
br_token use, struct br_device_pixelmap *pm, br_token_value *tv);
|
|
|
|
|
|
/*
|
|
* match.c
|
|
*/
|
|
br_error BR_CMETHOD_DECL(br_primitive_state_3dfx, renderBegin)(
|
|
struct br_primitive_state *self,
|
|
struct brp_block **rpb,
|
|
br_boolean *block_changed,
|
|
br_boolean *ranges_changed,
|
|
br_boolean no_render,
|
|
br_token prim_type);
|
|
|
|
br_error BR_CMETHOD_DECL(br_primitive_state_3dfx, renderEnd)(
|
|
struct br_primitive_state *self,
|
|
struct brp_block *pb);
|
|
|
|
br_error BR_CMETHOD_DECL(br_primitive_state_3dfx, rangesQueryF)(
|
|
struct br_primitive_state *self,
|
|
br_float *offset,
|
|
br_float *scale,
|
|
br_int_32 max_comp);
|
|
|
|
br_error BR_CMETHOD_DECL(br_primitive_state_3dfx, rangesQueryX)(
|
|
struct br_primitive_state *self,
|
|
br_fixed_ls *offset,
|
|
br_fixed_ls *scale,
|
|
br_int_32 max_comp);
|
|
|
|
void Clear3DfxStateCache(void);
|
|
|
|
void initConstantRanges(struct br_primitive_state *self);
|
|
|
|
/*
|
|
* rendfunc.c
|
|
*/
|
|
void BR_ASM_CALL PointRender(brp_block *block, brp_vertex *v0);
|
|
void BR_ASM_CALL LineRender_Smooth(brp_block *block, brp_vertex *v0,brp_vertex *v1);
|
|
void BR_ASM_CALL LineRender_Flat(brp_block *block, brp_vertex *v0,brp_vertex *v1);
|
|
|
|
void BR_ASM_CALL TriangleRender_Smooth(brp_block *block, brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
|
void BR_ASM_CALL TriangleRender_Flat(brp_block *block, brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
|
void BR_ASM_CALL TriangleRender_UnlitTextured(brp_block *block, brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
|
void BR_ASM_CALL TriangleRender_FlatTextured(brp_block *block, brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
|
void BR_ASM_CALL TriangleRender_SmoothTextured(brp_block *block, brp_vertex *a,brp_vertex *b,brp_vertex *c);
|
|
|
|
|
|
|
|
/*
|
|
* devclut.c
|
|
*/
|
|
struct br_device_clut * DeviceClut3DfxAllocate(br_device *dev, char *identifier);
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
|
|
#endif
|
|
|
|
#endif
|
|
#endif
|
|
|