}
#endif
-#if 0
- if (GEN_GEN == 8) {
- if (isl_format_is_integer(info->view->format)) {
+ if (GEN_GEN <= 8) {
+ /* Prior to Sky Lake, we only have one bit for the clear color which
+ * gives us 0 or 1 in whatever the surface's format happens to be.
+ */
+ if (isl_format_has_int_channel(info->view->format)) {
for (unsigned i = 0; i < 4; i++) {
assert(info->clear_color.u32[i] == 0 ||
info->clear_color.u32[i] == 1);
info->clear_color.f32[i] == 1.0f);
}
}
- s.RedClearColor = info->clear_color.u32[0] != 0,
- s.GreenClearColor = info->clear_color.u32[1] != 0,
- s.BlueClearColor = info->clear_color.u32[2] != 0,
- s.AlphaClearColor = info->clear_color.u32[3] != 0,
+ s.RedClearColor = info->clear_color.u32[0] != 0;
+ s.GreenClearColor = info->clear_color.u32[1] != 0;
+ s.BlueClearColor = info->clear_color.u32[2] != 0;
+ s.AlphaClearColor = info->clear_color.u32[3] != 0;
} else {
- .RedClearColor = info->clear_color.u32[0],
- .GreenClearColor = info->clear_color.u32[1],
- .BlueClearColor = info->clear_color.u32[2],
- .AlphaClearColor = info->clear_color.u32[3],
+ s.RedClearColor = info->clear_color.u32[0];
+ s.GreenClearColor = info->clear_color.u32[1];
+ s.BlueClearColor = info->clear_color.u32[2];
+ s.AlphaClearColor = info->clear_color.u32[3];
}
-#endif
GENX(RENDER_SURFACE_STATE_pack)(NULL, state, &s);
}