i965: Fix segfault in WebGL Conformance on Ivybridge
authorChad Versace <chad.versace@linux.intel.com>
Tue, 18 Nov 2014 23:41:35 +0000 (15:41 -0800)
committerChad Versace <chad.versace@linux.intel.com>
Wed, 19 Nov 2014 03:16:45 +0000 (19:16 -0800)
commitb69c7c5dac4e2615e89cef773173484421830a8f
tree23500b6a98c85a793d7b21dc4a9250d957339518
parent80bffde0a28c533b263bab97470362b0eec54e9f
i965: Fix segfault in WebGL Conformance on Ivybridge

Fixes regression of WebGL Conformance test texture-size-limit [1] on
Ivybridge Mobile GT2 0x0166 with Google Chrome R38.

Regression introduced by

    commit 6c044231535b93c5d16404528946cad618d96bd9
    Author: Kenneth Graunke <kenneth@whitecape.org>
    Date:   Sun Feb 2 02:58:42 2014 -0800

        i965: Bump GL_MAX_CUBE_MAP_TEXTURE_SIZE to 8192.

The test regressed because the pointer offset arithmetic in
intel_miptree_map_gtt() overflows for large textures. The pointer
arithmetic is not 64-bit safe.

[1] https://github.com/KhronosGroup/WebGL/blob/52f0dc240f04dce31b1b8e2b8107fe2b8332dc90/sdk/tests/conformance/textures/texture-size-limit.html

Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org>
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=78770
Fixes: Intel CHRMOS-1377
Reported-by: Lu Hua <huax.lu@intel.com>
Reviewed-by: Ian Romanic <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
src/mesa/drivers/dri/i965/intel_mipmap_tree.c