projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
eca762d
)
i965/vs: Use an appropriate swizzle on src regs from variables.
author
Eric Anholt
<eric@anholt.net>
Sat, 6 Aug 2011 02:29:41 +0000
(19:29 -0700)
committer
Eric Anholt
<eric@anholt.net>
Tue, 16 Aug 2011 20:04:42 +0000
(13:04 -0700)
Fixes glsl-vs-if-bool.
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
patch
|
blob
|
history
diff --git
a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index 014f7e62284b4f384b366203c9f58ceac6337e0f..734e251453679d900dbcb2f2cde27ac3c1363b52 100644
(file)
--- a/
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
+++ b/
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
@@
-1140,6
+1140,7
@@
vec4_visitor::visit(ir_swizzle *ir)
void
vec4_visitor::visit(ir_dereference_variable *ir)
{
+ const struct glsl_type *type = ir->type;
dst_reg *reg = variable_storage(ir->var);
if (!reg) {
@@
-1149,6
+1150,9
@@
vec4_visitor::visit(ir_dereference_variable *ir)
}
this->result = src_reg(*reg);
+
+ if (type->is_scalar() || type->is_vector() || type->is_matrix())
+ this->result.swizzle = swizzle_for_size(type->vector_elements);
}
void