mesa/src
Vincent Lejeune 557d4918ad glsl: store read vector in a temp in vec_index_to_cond
Vector indexing on matrixes generates several copy of the
constant matrix, for instance vec=mat4[i][j] generates :
vec=mat4[i].x;
vec=(j==1)?mat4[i].y;
vec=(j==2)?mat4[i].z;
vec=(j==3)?mat4[i].w;
In the case of constant matrixes, the mat4[i] expression generates
copy of the 16 elements of the matrix 4 times ; indirect addressing
also prevents some conservative CSE algorithms (like the one in LLVM)
from factoring the mat4[i] expression.
This patch will make the vec_index_to_cond pass generates :
temp = mat4[i];
vec=temp.x;
vec=(j==1)?temp.y;
vec=(j==2)?temp.z;
vec=(j==3)?temp.w;

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-11-11 22:20:15 +01:00
..
egl wayland: Destroy frame callback when destroying surface 2012-11-07 16:13:03 -05:00
gallium gallium/u_blitter: handle PIPE_TEXTURE_CUBE_ARRAY in is_box_inside_resource 2012-11-11 13:33:01 +01:00
gbm gbm: Use the kms dumb ioctls for cursor instead of libkms 2012-10-21 13:00:49 -04:00
getopt
glsl glsl: store read vector in a temp in vec_index_to_cond 2012-11-11 22:20:15 +01:00
glx dispatch: Include glheader.h in dispatch-related files. 2012-11-01 11:22:24 -07:00
gtest build: Fix gtest out-of-tree build 2012-08-14 10:54:39 -07:00
mapi glapi: add ARB_texture_cube_map_array. 2012-11-09 09:24:41 +10:00
mesa i965: Fix AA Line Distance Mode in 3DSTATE_SF on Ivybridge. 2012-11-10 12:14:23 -08:00
.gitignore automake: Convert src/Makefile to automake. 2012-06-11 09:28:00 -07:00
Makefile.am automake: Convert src/Makefile to automake. 2012-06-11 09:28:00 -07:00
SConscript Remove libGLU 2012-08-31 10:58:15 -07:00