forked from dolphin-emu/dolphin
		
	
		
			
	
	
		
			47 lines
		
	
	
		
			834 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			834 B
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#ifndef _TEXTURECACHE_H
							 | 
						||
| 
								 | 
							
								#define _TEXTURECACHE_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <map>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "D3DBase.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class TextureCache
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									struct TCacheEntry
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										LPDIRECT3DTEXTURE9 texture;
							 | 
						||
| 
								 | 
							
										u32 addr;
							 | 
						||
| 
								 | 
							
										u32 hash;
							 | 
						||
| 
								 | 
							
										u32 paletteHash;
							 | 
						||
| 
								 | 
							
										u32 hashoffset;
							 | 
						||
| 
								 | 
							
										u32 oldpixel;
							 | 
						||
| 
								 | 
							
										bool isRenderTarget;
							 | 
						||
| 
								 | 
							
										bool isNonPow2;
							 | 
						||
| 
								 | 
							
										int frameCount;
							 | 
						||
| 
								 | 
							
										int w,h,fmt;
							 | 
						||
| 
								 | 
							
										TCacheEntry()
							 | 
						||
| 
								 | 
							
										{
							 | 
						||
| 
								 | 
							
											texture=0;
							 | 
						||
| 
								 | 
							
											isRenderTarget=0;
							 | 
						||
| 
								 | 
							
											hash=0;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										void Destroy();
							 | 
						||
| 
								 | 
							
									};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									typedef std::map<DWORD,TCacheEntry> TexCache;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									static u8 *temp;
							 | 
						||
| 
								 | 
							
									static TexCache textures;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								public:
							 | 
						||
| 
								 | 
							
									static void Init();
							 | 
						||
| 
								 | 
							
									static void Cleanup();
							 | 
						||
| 
								 | 
							
									static void Shutdown();
							 | 
						||
| 
								 | 
							
									static void Invalidate();
							 | 
						||
| 
								 | 
							
									static void Load(int stage, DWORD address, int width, int height, int format, int tlutaddr, int tlutfmt);
							 | 
						||
| 
								 | 
							
									static void CopyEFBToRenderTarget(DWORD address, RECT *source);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif
							 |