intel: Set depth to 6 for cubemaps
authorIan Romanick <ian.d.romanick@intel.com>
Tue, 17 Jan 2012 20:41:15 +0000 (12:41 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Wed, 18 Jan 2012 20:48:37 +0000 (12:48 -0800)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41216
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43212
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43250
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: Jin Yang <jin.a.yang@intel.com>
src/mesa/drivers/dri/i915/i915_tex_layout.c
src/mesa/drivers/dri/i965/brw_tex_layout.c

index caa7127203b2aca1489ec5029000640953bba41c..1e3cfadddc8eba5a19eaa87444757c117290b8f3 100644 (file)
@@ -129,7 +129,7 @@ i915_miptree_layout_cube(struct intel_mipmap_tree * mt)
       intel_miptree_set_level_info(mt, level,
                                   0, 0,
                                   lvlWidth, lvlHeight,
-                                  1);
+                                  6);
       lvlWidth /= 2;
       lvlHeight /= 2;
    }
@@ -337,7 +337,7 @@ i945_miptree_layout_cube(struct intel_mipmap_tree * mt)
    for (level = mt->first_level; level <= mt->last_level; level++) {
       intel_miptree_set_level_info(mt, level,
                                   0, 0,
-                                  lvlWidth, lvlHeight, 1);
+                                  lvlWidth, lvlHeight, 6);
       lvlWidth /= 2;
       lvlHeight /= 2;
    }
index 4c7e88ce77032882f3ac338b5305d47f3479ae5b..7a1b91f3721fd103e7416bd6f7b1292bd5178a4d 100644 (file)
@@ -77,6 +77,7 @@ brw_miptree_layout(struct intel_context *intel, struct intel_mipmap_tree *mt)
         brw_miptree_layout_texture_array(intel, mt);
         break;
       }
+      assert(mt->depth0 == 6);
       /* FALLTHROUGH */
 
    case GL_TEXTURE_3D: {
@@ -101,7 +102,6 @@ brw_miptree_layout(struct intel_context *intel, struct intel_mipmap_tree *mt)
       pack_x_nr = 1;
 
       for (level = mt->first_level ; level <= mt->last_level ; level++) {
-        GLuint nr_images = mt->target == GL_TEXTURE_3D ? depth : 6;
         GLint x = 0;
         GLint y = 0;
         GLint q, j;
@@ -110,8 +110,8 @@ brw_miptree_layout(struct intel_context *intel, struct intel_mipmap_tree *mt)
                                      0, mt->total_height,
                                      width, height, depth);
 
-        for (q = 0; q < nr_images;) {
-           for (j = 0; j < pack_x_nr && q < nr_images; j++, q++) {
+        for (q = 0; q < depth; /* empty */) {
+           for (j = 0; j < pack_x_nr && q < depth; j++, q++) {
               intel_miptree_set_image_offset(mt, level, q, x, y);
               x += pack_x_pitch;
            }