i965: Add support for non-color render target write data to new FS backend.
[mesa.git] / src / mesa / drivers / dri / unichrome / via_tex.h
index 6a5c959c4cb891ac8dff5d021da1ad8b8c851bf3..25eeee32f3d7b10e7d23f4d3ee17024c184f50db 100644 (file)
 #ifndef _VIATEX_H
 #define _VIATEX_H
 
-#include "mtypes.h"
-#include "mm.h"
+#include "main/mtypes.h"
 
-#include "via_context.h"
-#include "via_3d_reg.h"
+struct via_context;
 
-#define VIA_TEX_MAXLEVELS      10
-
-
-/* For shared texture space managment, these texture objects may also
- * be used as proxies for regions of texture memory containing other
- * client's textures.  Such proxy textures (not to be confused with GL
- * proxy textures) are subject to the same LRU aging we use for our
- * own private textures, and thus we have a mechanism where we can
- * fairly decide between kicking out our own textures and those of
- * other clients.
- *
- * Non-local texture objects have a valid MemBlock to describe the
- * region managed by the other client, and can be identified by
- * 't->globj == 0' 
- */
-struct via_texture_object_t {
-    struct via_texture_object_t *next, *prev;
-
-    GLuint age;
-    struct gl_texture_object *globj;
-
-    int texelBytes;
-    int totalSize;
-
-    struct {
-       GLuint index;
-       GLuint offset;
-       GLuint size;
-    } texMem;
-    unsigned char* bufAddr;
-    
-    GLuint inAGP;
-    GLuint needClearCache;    
-    GLuint actualLevel;
-
-    GLuint maxLevel;
-    GLuint dirtyImages;
-
-    struct {
-        const struct gl_texture_image *image;
-        int offset;               /* into bufAddr */
-        int height;
-        int internalFormat;
-    } image[VIA_TEX_MAXLEVELS];
-
-    GLuint dirty;
-    
-    GLuint regTexFM;
-    GLuint regTexWidthLog2[2];
-    GLuint regTexHeightLog2[2];
-    GLuint regTexBaseH[4];
-    struct {
-       GLuint baseL;
-       GLuint pitchLog2;
-    } regTexBaseAndPitch[12];
-
-    GLint firstLevel, lastLevel;  /* upload tObj->Image[first .. lastLevel] */
-};              
-
-viaTextureObjectPtr viaAllocTextureObject(struct gl_texture_object *texObj);
-void viaUpdateTextureState(GLcontext *ctx);
+GLboolean viaUpdateTextureState(GLcontext *ctx);
 void viaInitTextureFuncs(struct dd_function_table * functions);
-void viaInitTextures(GLcontext *ctx);
-
-void viaDestroyTexObj(viaContextPtr vmesa, viaTextureObjectPtr t);
-void viaSwapOutTexObj(viaContextPtr vmesa, viaTextureObjectPtr t);
-void viaUploadTexImages(viaContextPtr vmesa, viaTextureObjectPtr t);
-
-void viaResetGlobalLRU(viaContextPtr vmesa);
-void viaTexturesGone(viaContextPtr vmesa,
-                     GLuint start, GLuint end,
-                     GLuint in_use);
+GLboolean viaSwapOutWork( struct via_context *vmesa );
 
-void viaPrintLocalLRU(viaContextPtr vmesa);
-void viaPrintGlobalLRU(viaContextPtr vmesa);
-void viaUpdateTexLRU(viaContextPtr vmesa, viaTextureObjectPtr t);
+#if defined( USE_SSE_ASM )
+void via_sse_memcpy( void *to, const void *from, size_t sz );
+#endif /* defined( USE_SSE_ASM ) */
 
 #endif