-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathPGUTexture.h
61 lines (51 loc) · 2.38 KB
/
PGUTexture.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//**************************************************************
//* OpenGLide - Glide to OpenGL Wrapper
//* http://openglide.sourceforge.net
//*
//* PGUTexture Class Definition
//*
//* OpenGLide is OpenSource under LGPL license
//* Originally made by Fabio Barros
//* Modified by Paul for Glidos (http://www.glidos.net)
//* Linux version by Simon White
//**************************************************************
#ifndef __PGUTEXTURE_H__
#define __PGUTEXTURE_H__
#include "sdk2_glide.h"
class PGUTexture
{
public:
FxU32 MemQueryAvail( GrChipID_t tmu );
GrMipMapId_t GetCurrentMipMap( GrChipID_t tmu );
FxBool ChangeAttributes( GrMipMapId_t mmid, int width, int height,
GrTextureFormat_t fmt, GrMipMapMode_t mm_mode,
GrLOD_t smallest_lod, GrLOD_t largest_lod,
GrAspectRatio_t aspect, GrTextureClampMode_t s_clamp_mode,
GrTextureClampMode_t t_clamp_mode,
GrTextureFilterMode_t minFilterMode,
GrTextureFilterMode_t magFilterMode );
GrMipMapInfo * GetMipMapInfo( GrMipMapId_t mmid );
void Source( GrMipMapId_t id );
void MemReset( void );
void DownloadMipMapLevel( GrMipMapId_t mmid, GrLOD_t lod, const void **src );
void DownloadMipMap( GrMipMapId_t mmid, const void *src, const GuNccTable *table );
GrMipMapId_t AllocateMemory( GrChipID_t tmu, FxU8 odd_even_mask, int width, int height,
GrTextureFormat_t fmt, GrMipMapMode_t mm_mode,
GrLOD_t smallest_lod, GrLOD_t largest_lod,
GrAspectRatio_t aspect, GrTextureClampMode_t s_clamp_mode,
GrTextureClampMode_t t_clamp_mode,
GrTextureFilterMode_t minfilter_mode,
GrTextureFilterMode_t magfilter_mode,
float lod_bias, FxBool trilinear );
PGUTexture( void );
virtual ~PGUTexture( void );
private:
enum { MAX_MM = 1024 };
GrMipMapInfo mm_info[ MAX_MM ];
FxU32 mm_start[ MAX_MM ];
FxU32 m_free_mem;
GrMipMapId_t m_free_id;
GrMipMapId_t m_current_id;
};
extern PGUTexture UTextures;
#endif