mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 02:28:10 +02:00
iris: Don't memset the extra_aux memory range
The extra_aux memory range holds the CCS portion of surfaces using MCS_CCS or HiZ+CCS on integrated gfx12.x. Avoid memsetting because: * There's no known CCS initialization requirement for MCS_CCS. * ACM has the same documented initialization requirements for HIZ+CCS on TGL/MTL, but iris doesn't initialize the CCS portion on discrete. For TGL+, anv does not initialize the CCS portion of HiZ+CCS. Let's be consistent with these other cases and avoid initialization. If we end up needing to initialize the CCS, we can try come up with something that will work for both integrated and discrete gfx12. Reviewed-by: Rohan Garg <rohan.garg@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27835>
This commit is contained in:
parent
8567d02682
commit
e1443074f3
1 changed files with 2 additions and 16 deletions
|
|
@ -999,30 +999,16 @@ static bool
|
|||
iris_resource_init_aux_buf(struct iris_screen *screen,
|
||||
struct iris_resource *res)
|
||||
{
|
||||
void *map = NULL;
|
||||
|
||||
if (iris_resource_get_aux_state(res, 0, 0) != ISL_AUX_STATE_AUX_INVALID &&
|
||||
res->aux.surf.size_B > 0) {
|
||||
if (!map)
|
||||
map = iris_bo_map(NULL, res->bo, MAP_WRITE | MAP_RAW);
|
||||
void* map = iris_bo_map(NULL, res->bo, MAP_WRITE | MAP_RAW);
|
||||
if (!map)
|
||||
return false;
|
||||
|
||||
memset((char*)map + res->aux.offset, 0, res->aux.surf.size_B);
|
||||
}
|
||||
|
||||
if (res->aux.extra_aux.surf.size_B > 0) {
|
||||
if (!map)
|
||||
map = iris_bo_map(NULL, res->bo, MAP_WRITE | MAP_RAW);
|
||||
if (!map)
|
||||
return false;
|
||||
|
||||
memset((char*)map + res->aux.extra_aux.offset,
|
||||
0, res->aux.extra_aux.surf.size_B);
|
||||
}
|
||||
|
||||
if (map)
|
||||
iris_bo_unmap(res->bo);
|
||||
}
|
||||
|
||||
if (res->aux.surf.size_B > 0) {
|
||||
res->aux.bo = res->bo;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue