diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2020-02-05 00:53:10 -0800 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2020-02-21 16:44:55 -0800 |
commit | 4d57a2750485e51b34e0bc413100e4e2787a4e84 (patch) | |
tree | 9af72f9f4ec649b1439ed09ebe7ab835e966ed77 | |
parent | 4bac2fa3c6d30537e444c555f182abd9c739cfd4 (diff) | |
download | mesa-4d57a2750485e51b34e0bc413100e4e2787a4e84.tar.gz |
iris: Set MOCS for constant packets on Gen12+2554-iris-use-core-image-deref-lowering
It seems to be back, and we shouldn't use 0, as that's now considered
an error.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3720>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3720>
-rw-r--r-- | src/gallium/drivers/iris/iris_state.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index bde8cad3cfa..7f25e1f7676 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -5193,11 +5193,15 @@ emit_push_constant_packets(struct iris_context *ice, int stage, const struct push_bos *push_bos) { + UNUSED struct isl_device *isl_dev = &batch->screen->isl_dev; struct iris_compiled_shader *shader = ice->shaders.prog[stage]; struct brw_stage_prog_data *prog_data = (void *) shader->prog_data; iris_emit_cmd(batch, GENX(3DSTATE_CONSTANT_VS), pkt) { pkt._3DCommandSubOpcode = push_constant_opcodes[stage]; +#if GEN_GEN >= 12 + pkt.MOCS = isl_dev->mocs.internal; +#endif if (prog_data) { /* The Skylake PRM contains the following restriction: * @@ -5229,6 +5233,8 @@ emit_push_constant_packet_all(struct iris_context *ice, uint32_t shader_mask, const struct push_bos *push_bos) { + struct isl_device *isl_dev = &batch->screen->isl_dev; + if (!push_bos) { iris_emit_cmd(batch, GENX(3DSTATE_CONSTANT_ALL), pc) { pc.ShaderUpdateEnable = shader_mask; @@ -5245,6 +5251,7 @@ emit_push_constant_packet_all(struct iris_context *ice, assert(n <= max_pointers); iris_pack_command(GENX(3DSTATE_CONSTANT_ALL), dw, all) { all.DWordLength = num_dwords - 2; + all.MOCS = isl_dev->mocs.internal; all.ShaderUpdateEnable = shader_mask; all.PointerBufferMask = (1 << n) - 1; } |