Merge commit 'origin/st-shader-varients'
[mesa.git] / src / mesa / drivers / dri / i965 / brw_tex.c
index b344dd7d27168f1a7fd7d6ceb7b03015b67fa543..e911b105b233ef19d84aabb520fd23fddd1eb69a 100644 (file)
   */
         
 
-#include "glheader.h"
-#include "mtypes.h"
-#include "imports.h"
-#include "simple_list.h"
-#include "enums.h"
-#include "image.h"
-#include "teximage.h"
-#include "texstore.h"
-#include "texformat.h"
-#include "texmem.h"
+#include "main/glheader.h"
+#include "main/mtypes.h"
+#include "main/teximage.h"
 
 #include "intel_context.h"
-#include "intel_ioctl.h"
 #include "intel_regions.h"
+#include "intel_tex.h"
 #include "brw_context.h"
-#include "brw_defines.h"
 
-
-void brw_FrameBufferTexInit( struct brw_context *brw )
+/**
+ * Finalizes all textures, completing any rendering that needs to be done
+ * to prepare them.
+ */
+void brw_validate_textures( struct brw_context *brw )
 {
+   GLcontext *ctx = &brw->intel.ctx;
    struct intel_context *intel = &brw->intel;
-   GLcontext *ctx = &intel->ctx;
-   struct intel_region *region = intel->front_region;
-   struct gl_texture_object *obj;
-   struct gl_texture_image *img;
-   
-   intel->frame_buffer_texobj = obj =
-      ctx->Driver.NewTextureObject( ctx, (GLuint) -1, GL_TEXTURE_2D );
-
-   obj->MinFilter = GL_NEAREST;
-   obj->MagFilter = GL_NEAREST;
+   int i;
 
-   img = ctx->Driver.NewTextureImage( ctx );
+   for (i = 0; i < BRW_MAX_TEX_UNIT; i++) {
+      struct gl_texture_unit *texUnit = &ctx->Texture.Unit[i];
 
-   _mesa_init_teximage_fields( ctx, GL_TEXTURE_2D, img,
-                              region->pitch, region->height, 1, 0,
-                              region->cpp == 4 ? GL_RGBA : GL_RGB );
-   
-   _mesa_set_tex_image( obj, GL_TEXTURE_2D, 0, img );
-}
-
-void brw_FrameBufferTexDestroy( struct brw_context *brw )
-{
-   brw->intel.ctx.Driver.DeleteTexture( &brw->intel.ctx,
-                                       brw->intel.frame_buffer_texobj );
+      if (texUnit->_ReallyEnabled) {
+        intel_finalize_mipmap_tree(intel, i);
+      }
+   }
 }