anv: Allow HiZ in TRANSFER_SRC_OPTIMAL on Gen8-9
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:

committed by
Kenneth Graunke

parent
b274469daa
commit
52ad1712ed
@@ -238,16 +238,23 @@ get_blorp_surf_for_anv_image(const struct anv_device *device,
|
||||
const struct anv_address clear_color_addr =
|
||||
anv_image_get_clear_color_addr(device, image, aspect);
|
||||
blorp_surf->clear_color_addr = anv_to_blorp_address(clear_color_addr);
|
||||
} else if (aspect & VK_IMAGE_ASPECT_DEPTH_BIT
|
||||
&& device->info.gen >= 10) {
|
||||
/* Vulkan always clears to 1.0. On gen < 10, we set that directly in
|
||||
* the state packet. For gen >= 10, must provide the clear value in a
|
||||
* buffer. We have a single global buffer that stores the 1.0 value.
|
||||
*/
|
||||
const struct anv_address clear_color_addr = (struct anv_address) {
|
||||
.bo = device->hiz_clear_bo,
|
||||
};
|
||||
blorp_surf->clear_color_addr = anv_to_blorp_address(clear_color_addr);
|
||||
} else if (aspect & VK_IMAGE_ASPECT_DEPTH_BIT) {
|
||||
if (device->info.gen >= 10) {
|
||||
/* Vulkan always clears to 1.0. On gen < 10, we set that directly
|
||||
* in the state packet. For gen >= 10, must provide the clear
|
||||
* value in a buffer. We have a single global buffer that stores
|
||||
* the 1.0 value.
|
||||
*/
|
||||
const struct anv_address clear_color_addr = (struct anv_address) {
|
||||
.bo = device->hiz_clear_bo,
|
||||
};
|
||||
blorp_surf->clear_color_addr =
|
||||
anv_to_blorp_address(clear_color_addr);
|
||||
} else {
|
||||
blorp_surf->clear_color = (union isl_color_value) {
|
||||
.f32 = { ANV_HZ_FC_VAL },
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user