iris: Use the data cache for indirect UBO pulls

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3932>
This commit is contained in:
Jason Ekstrand 2020-02-21 23:38:58 -06:00
parent b54d37a867
commit 3b784370c3
3 changed files with 3 additions and 3 deletions

View file

@ -174,8 +174,7 @@ iris_upload_ubo_ssbo_surf_state(struct iris_context *ice,
.address = res->bo->gtt_offset + res->offset + .address = res->bo->gtt_offset + res->offset +
buf->buffer_offset, buf->buffer_offset,
.size_B = buf->buffer_size - res->offset, .size_B = buf->buffer_size - res->offset,
.format = ssbo ? ISL_FORMAT_RAW .format = ISL_FORMAT_RAW,
: ISL_FORMAT_R32G32B32A32_FLOAT,
.swizzle = ISL_SWIZZLE_IDENTITY, .swizzle = ISL_SWIZZLE_IDENTITY,
.stride_B = 1, .stride_B = 1,
.mocs = iris_mocs(res->bo, &screen->isl_dev)); .mocs = iris_mocs(res->bo, &screen->isl_dev));

View file

@ -2135,7 +2135,7 @@ iris_flush_bits_for_history(struct iris_resource *res)
if (res->bind_history & PIPE_BIND_CONSTANT_BUFFER) { if (res->bind_history & PIPE_BIND_CONSTANT_BUFFER) {
flush |= PIPE_CONTROL_CONST_CACHE_INVALIDATE | flush |= PIPE_CONTROL_CONST_CACHE_INVALIDATE |
PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE; PIPE_CONTROL_DATA_CACHE_FLUSH;
} }
if (res->bind_history & PIPE_BIND_SAMPLER_VIEW) if (res->bind_history & PIPE_BIND_SAMPLER_VIEW)

View file

@ -805,6 +805,7 @@ iris_screen_create(int fd, const struct pipe_screen_config *config)
screen->compiler->supports_pull_constants = false; screen->compiler->supports_pull_constants = false;
screen->compiler->supports_shader_constants = true; screen->compiler->supports_shader_constants = true;
screen->compiler->compact_params = false; 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_3d = iris_get_default_l3_config(&screen->devinfo, false);
screen->l3_config_cs = iris_get_default_l3_config(&screen->devinfo, true); screen->l3_config_cs = iris_get_default_l3_config(&screen->devinfo, true);