iris: Don't allocate and initialize CCS on XeHP
The memory for CCS on XeHP can't be mapped by the CPU. Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13555>
This commit is contained in:
parent
656d34a811
commit
7d3200a37d
|
@ -707,10 +707,10 @@ iris_resource_configure_main(const struct iris_screen *screen,
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
iris_get_ccs_surf(const struct isl_device *dev,
|
iris_get_ccs_surf_or_support(const struct isl_device *dev,
|
||||||
const struct isl_surf *surf,
|
const struct isl_surf *surf,
|
||||||
struct isl_surf *aux_surf,
|
struct isl_surf *aux_surf,
|
||||||
struct isl_surf *extra_aux_surf)
|
struct isl_surf *extra_aux_surf)
|
||||||
{
|
{
|
||||||
assert(extra_aux_surf->size_B == 0);
|
assert(extra_aux_surf->size_B == 0);
|
||||||
|
|
||||||
|
@ -726,7 +726,15 @@ iris_get_ccs_surf(const struct isl_device *dev,
|
||||||
ccs_surf = aux_surf;
|
ccs_surf = aux_surf;
|
||||||
}
|
}
|
||||||
|
|
||||||
return isl_surf_get_ccs_surf(dev, surf, hiz_or_mcs_surf, ccs_surf, 0);
|
if (dev->info->verx10 >= 125) {
|
||||||
|
/* CCS doesn't require VMA on XeHP. So, instead of creating a separate
|
||||||
|
* surface, we can just return whether CCS is supported for the given
|
||||||
|
* input surfaces.
|
||||||
|
*/
|
||||||
|
return isl_surf_supports_ccs(dev, surf, hiz_or_mcs_surf);
|
||||||
|
} else {
|
||||||
|
return isl_surf_get_ccs_surf(dev, surf, hiz_or_mcs_surf, ccs_surf, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -750,8 +758,8 @@ iris_resource_configure_aux(struct iris_screen *screen,
|
||||||
isl_surf_get_hiz_surf(&screen->isl_dev, &res->surf, &res->aux.surf);
|
isl_surf_get_hiz_surf(&screen->isl_dev, &res->surf, &res->aux.surf);
|
||||||
|
|
||||||
const bool has_ccs = !INTEL_DEBUG(DEBUG_NO_RBC) &&
|
const bool has_ccs = !INTEL_DEBUG(DEBUG_NO_RBC) &&
|
||||||
iris_get_ccs_surf(&screen->isl_dev, &res->surf, &res->aux.surf,
|
iris_get_ccs_surf_or_support(&screen->isl_dev, &res->surf,
|
||||||
&res->aux.extra_aux.surf);
|
&res->aux.surf, &res->aux.extra_aux.surf);
|
||||||
|
|
||||||
if (has_mcs) {
|
if (has_mcs) {
|
||||||
assert(!res->mod_info);
|
assert(!res->mod_info);
|
||||||
|
|
Loading…
Reference in New Issue