diff --git a/src/freedreno/registers/adreno/a6xx.xml b/src/freedreno/registers/adreno/a6xx.xml index 0756f642e75..e25410c6da1 100644 --- a/src/freedreno/registers/adreno/a6xx.xml +++ b/src/freedreno/registers/adreno/a6xx.xml @@ -3653,6 +3653,10 @@ by a particular renderpass/blit. + + Same on a6xx/a7xx, UMD should not need to write this + + @@ -3662,7 +3666,7 @@ by a particular renderpass/blit. - + @@ -3688,7 +3692,7 @@ by a particular renderpass/blit. - + @@ -3726,7 +3730,7 @@ by a particular renderpass/blit. - + @@ -3782,7 +3786,7 @@ by a particular renderpass/blit. - + @@ -3933,7 +3937,7 @@ by a particular renderpass/blit. - + @@ -3985,7 +3989,7 @@ by a particular renderpass/blit. - + diff --git a/src/freedreno/vulkan/tu_cmd_buffer.cc b/src/freedreno/vulkan/tu_cmd_buffer.cc index 90a94ffbbfc..a722e785eeb 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.cc +++ b/src/freedreno/vulkan/tu_cmd_buffer.cc @@ -265,11 +265,11 @@ tu_emit_rt_workaround(struct tu_cmd_buffer *cmd, struct tu_cs *cs) tu_cs_emit_pkt7(cs, CP_SET_MARKER, 1); tu_cs_emit(cs, A6XX_CP_SET_MARKER_0_RT_WA_START); - tu_cs_emit_regs(cs, SP_CS_UNKNOWN_A9BE(CHIP, .dword = 0x10000)); - tu_cs_emit_regs(cs, SP_PS_UNKNOWN_A9AB(CHIP, .dword = 0x10000)); + tu_cs_emit_regs(cs, SP_CS_HYSTERESIS(CHIP, .dword = 0x10000)); + tu_cs_emit_regs(cs, SP_PS_HYSTERESIS(CHIP, .dword = 0x10000)); tu_emit_event_write(cmd, cs, FD_DUMMY_EVENT); - tu_cs_emit_regs(cs, SP_CS_UNKNOWN_A9BE(CHIP, .dword = 0)); - tu_cs_emit_regs(cs, SP_PS_UNKNOWN_A9AB(CHIP, .dword = 0)); + tu_cs_emit_regs(cs, SP_CS_HYSTERESIS(CHIP, .dword = 0)); + tu_cs_emit_regs(cs, SP_PS_HYSTERESIS(CHIP, .dword = 0)); tu_emit_event_write(cmd, cs, FD_DUMMY_EVENT); tu_emit_event_write(cmd, cs, FD_DUMMY_EVENT); tu_emit_event_write(cmd, cs, FD_DUMMY_EVENT); diff --git a/src/freedreno/vulkan/tu_device.cc b/src/freedreno/vulkan/tu_device.cc index 5e58614fa4c..30d45bffe79 100644 --- a/src/freedreno/vulkan/tu_device.cc +++ b/src/freedreno/vulkan/tu_device.cc @@ -2587,7 +2587,7 @@ tu_init_cmdbuf_start_a725_quirk(struct tu_device *device) .linearlocalidregid = regid(63, 0), .threadsize = THREAD128, .workitemrastorder = WORKITEMRASTORDER_TILED)); - tu_cs_emit_regs(&sub_cs, SP_CS_UNKNOWN_A9BE(A7XX, 0)); + tu_cs_emit_regs(&sub_cs, SP_CS_HYSTERESIS(A7XX, 0)); tu_cs_emit_regs(&sub_cs, SP_CS_NDRANGE_0(A7XX, .kerneldim = 3, diff --git a/src/freedreno/vulkan/tu_shader.cc b/src/freedreno/vulkan/tu_shader.cc index 98925a610d5..74b80203c26 100644 --- a/src/freedreno/vulkan/tu_shader.cc +++ b/src/freedreno/vulkan/tu_shader.cc @@ -1859,7 +1859,7 @@ tu6_emit_cs_config(struct tu_cs *cs, WORKITEMRASTORDER_LINEAR : WORKITEMRASTORDER_TILED, )); - tu_cs_emit_regs(cs, SP_CS_UNKNOWN_A9BE(CHIP, 0)); // Sometimes is 0x08000000 + tu_cs_emit_regs(cs, SP_CS_HYSTERESIS(CHIP, 0)); // Sometimes is 0x08000000 } } diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_compute.cc b/src/gallium/drivers/freedreno/a6xx/fd6_compute.cc index 2d15d871ad8..ec6cd7ff7d0 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_compute.cc +++ b/src/gallium/drivers/freedreno/a6xx/fd6_compute.cc @@ -144,7 +144,7 @@ cs_program_emit(struct fd_context *ctx, fd_crb &crb, struct ir3_shader_variant * v->cs.force_linear_dispatch ? WORKITEMRASTORDER_LINEAR : WORKITEMRASTORDER_TILED, )); - crb.add(SP_CS_UNKNOWN_A9BE(CHIP, 0)); // Sometimes is 0x08000000 + crb.add(SP_CS_HYSTERESIS(CHIP, 0)); // Sometimes is 0x08000000 } if (!v->local_size_variable)