}
else if(phase==2)
{
- if(raw_data)
+ if(texture.swizzle==RGBA_TO_RGB)
+ {
+ const void *data;
+ if(raw_data)
+ {
+ raw_data->load();
+ data = raw_data->get_data();
+ }
+ else
+ {
+ image.load(*img_loader);
+ data = image.get_pixels();
+ }
+ texture.stage_pixels(transfer.get_address(), data, texture.width*texture.height);
+ }
+ else if(raw_data)
raw_data->load_into(transfer.get_address());
else
image.load_into(*img_loader, transfer.get_address());