mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 19:50:11 +01:00
crocus: fixup render aux usage function.
This got misaligned somewhere in development, should fix the regressions vs i965 in tesseract as seen on phoronix benchmarks. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11409>
This commit is contained in:
parent
1108db982e
commit
2a540877d1
3 changed files with 10 additions and 6 deletions
|
|
@ -362,8 +362,7 @@ clear_color(struct crocus_context *ice,
|
|||
|
||||
bool color_write_disable[4] = { false, false, false, false };
|
||||
enum isl_aux_usage aux_usage =
|
||||
crocus_resource_render_aux_usage(ice, res, format,
|
||||
false, false);
|
||||
crocus_resource_render_aux_usage(ice, res, level, format, false);
|
||||
|
||||
crocus_resource_prepare_render(ice, res, level,
|
||||
box->z, box->depth, aux_usage);
|
||||
|
|
|
|||
|
|
@ -279,8 +279,8 @@ crocus_predraw_resolve_framebuffer(struct crocus_context *ice,
|
|||
crocus_update_align_res(batch, surf, true);
|
||||
|
||||
enum isl_aux_usage aux_usage =
|
||||
crocus_resource_render_aux_usage(ice, res, surf->view.format,
|
||||
ice->state.blend_enables & (1u << i),
|
||||
crocus_resource_render_aux_usage(ice, res, surf->view.base_level,
|
||||
surf->view.format,
|
||||
draw_aux_buffer_disabled[i]);
|
||||
|
||||
if (ice->state.draw_aux_usage[i] != aux_usage) {
|
||||
|
|
@ -984,8 +984,8 @@ crocus_resource_prepare_texture(struct crocus_context *ice,
|
|||
enum isl_aux_usage
|
||||
crocus_resource_render_aux_usage(struct crocus_context *ice,
|
||||
struct crocus_resource *res,
|
||||
uint32_t level,
|
||||
enum isl_format render_format,
|
||||
bool blend_enabled,
|
||||
bool draw_aux_disabled)
|
||||
{
|
||||
struct crocus_screen *screen = (void *) ice->ctx.screen;
|
||||
|
|
@ -1005,6 +1005,11 @@ crocus_resource_render_aux_usage(struct crocus_context *ice,
|
|||
|
||||
return ISL_AUX_USAGE_NONE;
|
||||
|
||||
case ISL_AUX_USAGE_HIZ:
|
||||
assert(render_format == res->surf.format);
|
||||
return crocus_resource_level_has_hiz(res, level) ?
|
||||
res->aux.usage : ISL_AUX_USAGE_NONE;
|
||||
|
||||
default:
|
||||
return ISL_AUX_USAGE_NONE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -497,8 +497,8 @@ bool crocus_has_color_unresolved(const struct crocus_resource *res,
|
|||
|
||||
enum isl_aux_usage crocus_resource_render_aux_usage(struct crocus_context *ice,
|
||||
struct crocus_resource *res,
|
||||
uint32_t level,
|
||||
enum isl_format render_fmt,
|
||||
bool blend_enabled,
|
||||
bool draw_aux_disabled);
|
||||
void crocus_resource_prepare_render(struct crocus_context *ice,
|
||||
struct crocus_resource *res, uint32_t level,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue