gallium/util: use ui[4] instead of ui in union util_color
util_color often merely represents a collection of bytes, however it is inconvenient if those bytes can only be accessed as floats/doubles for int formats exceeding 32bits. (Note that since rgba8 formats use one uint, not 4 bytes, hence the byte and short member were left as is.)
This commit is contained in:
@@ -118,7 +118,7 @@ static uint32_t r300_depth_clear_cb_value(enum pipe_format format,
|
||||
util_pack_color(rgba, format, &uc);
|
||||
|
||||
if (util_format_get_blocksizebits(format) == 32)
|
||||
return uc.ui;
|
||||
return uc.ui[0];
|
||||
else
|
||||
return uc.us | (uc.us << 16);
|
||||
}
|
||||
@@ -193,7 +193,7 @@ static void r300_set_clear_color(struct r300_context *r300,
|
||||
r300->color_clear_value_gb = uc.h[0] | ((uint32_t)uc.h[1] << 16);
|
||||
r300->color_clear_value_ar = uc.h[2] | ((uint32_t)uc.h[3] << 16);
|
||||
} else {
|
||||
r300->color_clear_value = uc.ui;
|
||||
r300->color_clear_value = uc.ui[0];
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user