i965: Fix glColorPointer(GL_FIXED)
When a gl_client_array is created with glColorPointer, gl_client_array::Normalized is true. This caused the translation from the gl_client_array's type to a BRW_SURFACEFORMAT to assertion fail. Fixes the spinning cube's color in Android 4.2's ApiDemos.apk, "Graphics > OpenGL ES". Fixes assertion failure in mesa-demos/src/egl/opengles1/tri_x11 on Haswell and Ivybridge: brw_draw_upload.c:287: get_surface_type: Assertion `0' failed. No Piglit regressions on Haswell. Note: This is a candidate for the 9.1 branch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42182 Issue: AXIA-2954 Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
This commit is contained in:
parent
e54c924a0e
commit
7a9f4d3e71
|
@ -263,6 +263,14 @@ get_surface_type(struct intel_context *intel,
|
|||
else {
|
||||
return ubyte_types_norm[size];
|
||||
}
|
||||
case GL_FIXED:
|
||||
if (intel->gen >= 8 || intel->is_haswell)
|
||||
return fixed_point_types[size];
|
||||
|
||||
/* This produces GL_FIXED inputs as values between INT32_MIN and
|
||||
* INT32_MAX, which will be scaled down by 1/65536 by the VS.
|
||||
*/
|
||||
return int_types_scale[size];
|
||||
/* See GL_ARB_vertex_type_2_10_10_10_rev.
|
||||
* W/A: Pre-Haswell, the hardware doesn't really support the formats we'd
|
||||
* like to use here, so upload everything as UINT and fix
|
||||
|
|
Loading…
Reference in New Issue