Bug 107073 - Some miptree maps don't use intel_mipmap_tree::offset
Summary: Some miptree maps don't use intel_mipmap_tree::offset
Status: NEW
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-06-29 21:39 UTC by Nanley Chery
Modified: 2018-06-29 21:39 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nanley Chery 2018-06-29 21:39:00 UTC
Miptree maps for stencil, depth-stencil, and etc-decompressed-workaround miptrees don't use ::offset. This seems wrong.

I think we may run into an issue in the following case:
1. Create a DRI image from a miptree level > 1 via __DRIimageExtensionRec::createImageFromTexture. The level must be in a different tile than the base level. This will set __DRIimage::offset > 0.
2. Create an aformentioned problematic miptree from that image using EGLImageTargetRenderbufferStorage or EGLImageTargetTexture2D (maybe also __DriverAPIRec::MakeCurrent?). These use intel_miptree_create_for_dri_image internally and will set intel_mipmap_tree::offset > 0.
3. Map the miptree for reading. We'll expect data from the level > 1, but we'll instead get data from the base level.

If this is indeed possbile, we need a piglit test to confirm the issue and a Mesa patch to fix it.


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.