[Bug 99108] WebGL conformance/textures/misc/texture-size-limit.html fails

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Dec 16 12:24:41 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=99108

--- Comment #1 from xinghua <xinghua.cao at intel.com> ---
The failure case may be related with
https://bugs.freedesktop.org/show_bug.cgi?id=98297
This bug changes "MaxTextureLevels" from 14 to 15. It means that buffer object
size for GL_TEXTURE_CUBE_MAP is from 2425421824 to 9682681856. This size is too
large that may cause mmap failure.
// intel_bufmgr_gem.c
static int drm_intel_gem_bo_map(drm_intel_bo *bo, int write_enable)
{
        ...
        if (!bo_gem->mem_virtual) {
                struct drm_i915_gem_mmap mmap_arg;

                memclear(mmap_arg);
                mmap_arg.handle = bo_gem->gem_handle;
                mmap_arg.size = bo->size;
                ret = drmIoctl(bufmgr_gem->fd,
                               DRM_IOCTL_I915_GEM_MMAP,
                               &mmap_arg);
                ...
    }
        ...
}

drmIoctl call would fail, if call texImage2D continuously with same target but
different format and type as below,

gl.texImage2D(TEXTURE_CUBE_MAP_POSITIVE_X, 14, RGB, 1, 1, 0, RGB,
UNSIGNED_SHORT_5_6_5, Unit16Array);
gl.texImage2D(TEXTURE_CUBE_MAP_POSITIVE_X, 14, RGBA, 1, 1, 0, RGBA,
UNSIGNED_BYTE, Unit8Array);

It will create two buffer objects, their size all 9682681856. out_of_memory
issue will frequently happen when mapping buf2 but buf1 does not be released.
I am not sure this issue should be covered by application, or resolved by
driver. Please help to check it, thank you.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20161216/c367e7ae/attachment.html>


More information about the intel-3d-bugs mailing list