Summary: | [bisected] intel_mipmap_tree.c:361: intel_miptree_set_image_offset: Assertion `img < mt->level[level].depth' failed. | ||
---|---|---|---|
Product: | Mesa | Reporter: | Vinson Lee <vlee> |
Component: | Drivers/DRI/i965 | Assignee: | Ian Romanick <idr> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | critical | ||
Priority: | medium | ||
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 42993 | ||
Attachments: | proposed patch |
Description
Vinson Lee
2011-11-23 22:27:53 UTC
d7b33309fe160212f2eb73f471f3aedcb5d0b5c1 is the first bad commit commit d7b33309fe160212f2eb73f471f3aedcb5d0b5c1 Author: Chad Versace <chad.versace@linux.intel.com> Date: Tue Nov 15 09:55:40 2011 -0800 intel: Kill intel_mipmap_level::nr_images [v4] For all texture targets except GL_TEXTURE_CUBE_MAP, the 'nr_images' and 'depth' fields of intel_mipmap_level were identical. In the exceptional case, nr_images == 6 and depth == 1. It is simple to determine if a texture is a cube or not, so the presence of two fields here was not helpful. Worse, it was confusing. When we eventually implement GL_ARB_texture_cube_map_array, this mess would have become even more confusing. This patch removes 'nr_images' and assigns to 'depth' a consistent meaning: depth is the number of 2D slices at each miplevel. The exact semantics of depth varies according to the texture target: - For GL_TEXTURE_CUBE_MAP, depth is 6. - For GL_TEXTURE_2D_ARRAY, depth is the number of array slices. It is identical for all miplevels in the texture. - For GL_TEXTURE_3D, it is the texture's depth at each miplevel. Its value, like width and height, varies with miplevel. - For other texture types, depth is 1. As a consequence, parameters were removed from the following function signatures: intel_miptree_set_level_info Remove 'nr_images'. i945_miptree_layout brw_miptree_layout_texture brw_miptree_layout_texture_array Remove 'slices'. v2: - Replace "It's" with "Its". - Remove all hunks in intel_fbo.c. The hunks were spurious and sneaked in during a rebase. - Remove unneeded hunk in intel_tex_map_image_for_swrast(). It was a little refactor of the for-loop's upper bound. v4: In intel_miptree_get_image_offset(), document the conditions under which different if-branches are taken. Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Chad Versace <chad.versace@linux.intel.com> :040000 040000 dcafec8fa2c8c6f9a8b321c951954116eeb1a579 9249cef859b11ae01459cf540120dbb065cac838 M src bisect run success Created attachment 54213 [details] [review] proposed patch I have also encounter this bug. cubemap texture should have depth=6 while not 1. proposed fix for it. (In reply to comment #2) > Created attachment 54213 [details] [review] > proposed patch There are a couple cases missed by attachment #54213 [details] [review]. I've posted an updated patch to the mesa-dev mailing list that should fix this issue. http://lists.freedesktop.org/archives/mesa-dev/2012-January/017672.html This bug should be fixed by the following commit on Mesa master. commit 8a472427559ea33186c71dfbab8254651fec3077 Author: Ian Romanick <ian.d.romanick@intel.com> Date: Tue Jan 17 12:41:15 2012 -0800 intel: Set depth to 6 for cubemaps 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> |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.