source: trunk/src/opengl/glide/swlibs/fxmisc/tsc.h

Last change on this file was 2887, checked in by sandervl, 26 years ago

Created swlibs dir

File size: 1.7 KB
Line 
1/*
2** THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY
3** PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT
4** TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX
5** INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE
6** DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC(info@3dfx.com).
7** THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
8** EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A
9** FULL TEXT OF THE NON-WARRANTY PROVISIONS.
10**
11** USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO
12** RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN
13** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013,
14** AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR
15** SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF
16** THE UNITED STATES.
17**
18** COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED
19*/
20#ifndef __TSC_H__
21#define __TSC_H__
22
23#ifndef __3DFX_H__
24# include <3dfx.h>
25#endif
26
27/*
28** timing routines
29*/
30#define TSC_MAX_CLOCKS 5000
31
32extern FxU32 tsc_begin, tsc_end;
33
34FxU32 *tscGetHistogram( void );
35FxU32 tscGetMostFrequent(void);
36void tscInit( void );
37FxU32 tscReadTSC( void );
38void tscPrintHistogram( void );
39void tscStoreDelta();
40void tscResetHistogram(void);
41
42#define tscBegin() \
43 tsc_begin = tscReadTSC();
44#define tscEnd() \
45 tsc_end = tscReadTSC(); \
46 tscStoreDelta();
47
48#if defined(__WATCOMC__)
49#pragma aux tscReadTSC = \
50 ".586" \
51 "rdtsc" \
52 modify [edx eax] \
53 value [eax];
54
55#elif defined(__MSC__)
56FxU32 tscReadTSC(void);
57#else
58#error "TSC: unsupported compiler"
59#endif
60
61#endif
Note: See TracBrowser for help on using the repository browser.