ir_to_mesa.cpp: Fix missing types on some ir_swizzles.
Debugging this took forever as I only looked at constructors in ir.cpp to find who wasn't setting up ->type. I dislike hiding code (as opposed to prototypes and definitions) in C++ header files, but in this case I have only myself to blame.
This commit is contained in:
parent
3bc8b68436
commit
05a4e59c24
8
ir.cpp
8
ir.cpp
|
@ -307,6 +307,14 @@ ir_swizzle::ir_swizzle(ir_rvalue *val, unsigned x, unsigned y, unsigned z,
|
|||
type = glsl_type::get_instance(val->type->base_type, mask.num_components, 1);
|
||||
}
|
||||
|
||||
ir_swizzle::ir_swizzle(ir_rvalue *val, ir_swizzle_mask mask)
|
||||
{
|
||||
this->val = val;
|
||||
this->mask = mask;
|
||||
this->type = glsl_type::get_instance(val->type->base_type,
|
||||
mask.num_components, 1);
|
||||
}
|
||||
|
||||
#define X 1
|
||||
#define R 5
|
||||
#define S 9
|
||||
|
|
6
ir.h
6
ir.h
|
@ -707,11 +707,7 @@ class ir_swizzle : public ir_rvalue {
|
|||
public:
|
||||
ir_swizzle(ir_rvalue *, unsigned x, unsigned y, unsigned z, unsigned w,
|
||||
unsigned count);
|
||||
ir_swizzle(ir_rvalue *val, ir_swizzle_mask mask)
|
||||
: val(val), mask(mask)
|
||||
{
|
||||
/* empty */
|
||||
}
|
||||
ir_swizzle(ir_rvalue *val, ir_swizzle_mask mask);
|
||||
|
||||
virtual ir_swizzle *as_swizzle()
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue