summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2020-02-05 00:53:10 -0800
committerKenneth Graunke <kenneth@whitecape.org>2020-02-21 16:44:55 -0800
commit4d57a2750485e51b34e0bc413100e4e2787a4e84 (patch)
tree9af72f9f4ec649b1439ed09ebe7ab835e966ed77
parent4bac2fa3c6d30537e444c555f182abd9c739cfd4 (diff)
downloadmesa-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.c7
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;
}