intel: Add a width field to regions, and use it for making miptrees in TFP.
[mesa.git] / src / mesa / drivers / dri / intel / intel_tex_image.c
index c11687a2cf66da8d84923eb5c6c1e559d1519fc4..1820d3dc05881fc9f820ce4b1eb44862f84fdb89 100644 (file)
@@ -21,7 +21,6 @@
 #include "intel_buffer_objects.h"
 #include "intel_batchbuffer.h"
 #include "intel_tex.h"
-#include "intel_ioctl.h"
 #include "intel_blit.h"
 #include "intel_fbo.h"
 
@@ -731,9 +730,15 @@ intelSetTexBuffer(__DRIcontext *pDRICtx, GLint target, __DRIdrawable *dPriv)
    if (!intelObj)
       return;
 
-   __driParseEvents(pDRICtx, dPriv);
+   intel_update_renderbuffers(pDRICtx, dPriv);
 
    rb = intel_fb->color_rb[0];
+   /* If the region isn't set, then intel_update_renderbuffers was unable
+    * to get the buffers for the drawable.
+    */
+   if (rb->region == NULL)
+      return;
+
    type = GL_BGRA;
    format = GL_UNSIGNED_BYTE;
    internalFormat = (rb->region->cpp == 3 ? 3 : 4);
@@ -752,7 +757,7 @@ intelSetTexBuffer(__DRIcontext *pDRICtx, GLint target, __DRIdrawable *dPriv)
    intelObj->mt = mt;
    texImage = _mesa_get_tex_image(&intel->ctx, texObj, target, level);
    _mesa_init_teximage_fields(&intel->ctx, target, texImage,
-                             rb->region->pitch, rb->region->height, 1,
+                             rb->region->width, rb->region->height, 1,
                              0, internalFormat);
 
    intelImage = intel_texture_image(texImage);