From 6be2bbec6da17fcc1f0ef4a474eaefd656b6214b Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 15 Oct 2020 15:06:33 -0500 Subject: [PATCH] Revert "iris: Use the data cache for indirect UBO pulls" This reverts commit 3b784370c376dbe642c2a8232169363d4fda0c02. This fixes a 30% performance regression in Manhattan 3.1 on Icelake. Fixes: 3b784370c376d "iris: Use the data cache for indirect UBO pulls" Reviewed-by: Kenneth Graunke Part-of: --- src/gallium/drivers/iris/iris_program.c | 3 ++- src/gallium/drivers/iris/iris_resource.c | 2 +- src/gallium/drivers/iris/iris_screen.c | 1 - 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/iris/iris_program.c b/src/gallium/drivers/iris/iris_program.c index daec631..3e7ebae 100644 --- a/src/gallium/drivers/iris/iris_program.c +++ b/src/gallium/drivers/iris/iris_program.c @@ -174,7 +174,8 @@ iris_upload_ubo_ssbo_surf_state(struct iris_context *ice, .address = res->bo->gtt_offset + res->offset + buf->buffer_offset, .size_B = buf->buffer_size - res->offset, - .format = ISL_FORMAT_RAW, + .format = ssbo ? ISL_FORMAT_RAW + : ISL_FORMAT_R32G32B32A32_FLOAT, .swizzle = ISL_SWIZZLE_IDENTITY, .stride_B = 1, .mocs = iris_mocs(res->bo, &screen->isl_dev)); diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c index 0caefe2..e9bca00 100644 --- a/src/gallium/drivers/iris/iris_resource.c +++ b/src/gallium/drivers/iris/iris_resource.c @@ -2135,7 +2135,7 @@ iris_flush_bits_for_history(struct iris_resource *res) if (res->bind_history & PIPE_BIND_CONSTANT_BUFFER) { flush |= PIPE_CONTROL_CONST_CACHE_INVALIDATE | - PIPE_CONTROL_DATA_CACHE_FLUSH; + PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE; } if (res->bind_history & PIPE_BIND_SAMPLER_VIEW) diff --git a/src/gallium/drivers/iris/iris_screen.c b/src/gallium/drivers/iris/iris_screen.c index 8ba2cef..985eecf 100644 --- a/src/gallium/drivers/iris/iris_screen.c +++ b/src/gallium/drivers/iris/iris_screen.c @@ -805,7 +805,6 @@ iris_screen_create(int fd, const struct pipe_screen_config *config) screen->compiler->supports_pull_constants = false; screen->compiler->supports_shader_constants = true; screen->compiler->compact_params = false; - screen->compiler->indirect_ubos_use_sampler = false; screen->l3_config_3d = iris_get_default_l3_config(&screen->devinfo, false); screen->l3_config_cs = iris_get_default_l3_config(&screen->devinfo, true); -- 2.7.4