Module: Mesa Branch: 9.1 Commit: 1b4dafc00f4821d30c70704907979d4740430de0 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b4dafc00f4821d30c70704907979d4740430de0
Author: Chad Versace <[email protected]> Date: Tue May 28 16:26:07 2013 -0700 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 <[email protected]> Signed-off-by: Chad Versace <[email protected]> (cherry picked from commit 7a9f4d3e7114ca709658a620644ad897bdda41e7) --- src/mesa/drivers/dri/i965/brw_draw_upload.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c index ed3b378..35836c7 100644 --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c @@ -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 _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
