&surf->surface_state);
}
- if (res->aux.bo) {
- iris_use_pinned_bo(batch, res->aux.bo, writeable, access);
- if (res->aux.clear_color_bo)
- iris_use_pinned_bo(batch, res->aux.clear_color_bo, false, access);
-
- if (memcmp(&res->aux.clear_color, &surf->clear_color,
- sizeof(surf->clear_color)) != 0) {
- update_clear_value(ice, batch, res, &surf->surface_state,
- res->aux.possible_usages, &surf->view);
- if (GFX_VER == 8) {
- update_clear_value(ice, batch, res, &surf->surface_state_read,
- res->aux.possible_usages, &surf->read_view);
- }
- surf->clear_color = res->aux.clear_color;
+ if (memcmp(&res->aux.clear_color, &surf->clear_color,
+ sizeof(surf->clear_color)) != 0) {
+ update_clear_value(ice, batch, res, &surf->surface_state,
+ res->aux.possible_usages, &surf->view);
+ if (GFX_VER == 8) {
+ update_clear_value(ice, batch, res, &surf->surface_state_read,
+ res->aux.possible_usages, &surf->read_view);
}
+ surf->clear_color = res->aux.clear_color;
}
+ if (res->aux.clear_color_bo)
+ iris_use_pinned_bo(batch, res->aux.clear_color_bo, false, access);
+
+ if (res->aux.bo)
+ iris_use_pinned_bo(batch, res->aux.bo, writeable, access);
+
iris_use_pinned_bo(batch, iris_resource_bo(p_surf->texture),
writeable, access);
if (GFX_VER == 8 && is_read_surface) {
if (!isv->surface_state.ref.res)
upload_surface_states(ice->state.surface_uploader, &isv->surface_state);
+ if (memcmp(&isv->res->aux.clear_color, &isv->clear_color,
+ sizeof(isv->clear_color)) != 0) {
+ update_clear_value(ice, batch, isv->res, &isv->surface_state,
+ isv->res->aux.sampler_usages, &isv->view);
+ isv->clear_color = isv->res->aux.clear_color;
+ }
+
+ if (isv->res->aux.clear_color_bo) {
+ iris_use_pinned_bo(batch, isv->res->aux.clear_color_bo,
+ false, IRIS_DOMAIN_OTHER_READ);
+ }
+
if (isv->res->aux.bo) {
iris_use_pinned_bo(batch, isv->res->aux.bo,
false, IRIS_DOMAIN_OTHER_READ);
- if (isv->res->aux.clear_color_bo)
- iris_use_pinned_bo(batch, isv->res->aux.clear_color_bo,
- false, IRIS_DOMAIN_OTHER_READ);
- if (memcmp(&isv->res->aux.clear_color, &isv->clear_color,
- sizeof(isv->clear_color)) != 0) {
- update_clear_value(ice, batch, isv->res, &isv->surface_state,
- isv->res->aux.sampler_usages, &isv->view);
- isv->clear_color = isv->res->aux.clear_color;
- }
}
iris_use_pinned_bo(batch, isv->res->bo, false, IRIS_DOMAIN_OTHER_READ);