Glide Plugin GLES2 port from mupen64plus-ae, but with special FrameSkip code
[mupen64plus-pandora.git] / source / gles2glide64 / src / GlideHQ / TxFilterExport.cpp
CommitLineData
98e75f2d 1/*
2 * Texture Filtering
3 * Version: 1.0
4 *
5 * Copyright (C) 2007 Hiroshi Morii All Rights Reserved.
6 * Email koolsmoky(at)users.sourceforge.net
7 * Web http://www.3dfxzone.it/koolsmoky
8 *
9 * this is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2, or (at your option)
12 * any later version.
13 *
14 * this is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with GNU Make; see the file COPYING. If not, write to
21 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
22 */
23
24#ifdef __MSC__
25#pragma warning(disable: 4786)
26#endif
27
28#include "TxFilter.h"
29
30TxFilter *txFilter = NULL;
31
32#ifdef __cplusplus
33extern "C"{
34#endif
35
36TAPI boolean TAPIENTRY
37txfilter_init(int maxwidth, int maxheight, int maxbpp, int options, int cachesize,
38 wchar_t *datapath, wchar_t *cachepath, wchar_t*ident,
39 dispInfoFuncExt callback)
40{
41 if (txFilter) return 0;
42
43 txFilter = new TxFilter(maxwidth, maxheight, maxbpp, options, cachesize,
44 datapath, cachepath, ident, callback);
45
46 return (txFilter ? 1 : 0);
47}
48
49TAPI void TAPIENTRY
50txfilter_shutdown(void)
51{
52 if (txFilter) delete txFilter;
53
54 txFilter = NULL;
55}
56
57TAPI boolean TAPIENTRY
58txfilter(uint8 *src, int srcwidth, int srcheight, uint16 srcformat,
59 uint64 g64crc, GHQTexInfo *info)
60{
61 if (txFilter)
62 return txFilter->filter(src, srcwidth, srcheight, srcformat,
63 g64crc, info);
64
65 return 0;
66}
67
68TAPI boolean TAPIENTRY
69txfilter_hirestex(uint64 g64crc, uint64 r_crc64, uint16 *palette, GHQTexInfo *info)
70{
71 if (txFilter)
72 return txFilter->hirestex(g64crc, r_crc64, palette, info);
73
74 return 0;
75}
76
77TAPI uint64 TAPIENTRY
78txfilter_checksum(uint8 *src, int width, int height, int size, int rowStride, uint8 *palette)
79{
80 if (txFilter)
81 return txFilter->checksum64(src, width, height, size, rowStride, palette);
82
83 return 0;
84}
85
86TAPI boolean TAPIENTRY
87txfilter_dmptx(uint8 *src, int width, int height, int rowStridePixel, uint16 gfmt, uint16 n64fmt, uint64 r_crc64)
88{
89 if (txFilter)
90 return txFilter->dmptx(src, width, height, rowStridePixel, gfmt, n64fmt, r_crc64);
91
92 return 0;
93}
94
95TAPI boolean TAPIENTRY
96txfilter_reloadhirestex()
97{
98 if (txFilter)
99 return txFilter->reloadhirestex();
100
101 return 0;
102}
103
104#ifdef __cplusplus
105}
106#endif