Mesa (main): tu: implement dynamic depth bias enable

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Aug 12 08:21:31 UTC 2021


Module: Mesa
Branch: main
Commit: 0b8ed9b55c7fcdc1464019084ef099d5468667f6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b8ed9b55c7fcdc1464019084ef099d5468667f6

Author: Danylo Piliaiev <dpiliaiev at igalia.com>
Date:   Thu Apr 22 19:10:42 2021 +0300

tu: implement dynamic depth bias enable

Signed-off-by: Danylo Piliaiev <dpiliaiev at igalia.com>
Reviewed-by: Hyunjun Ko <zzoon at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10434>

---

 src/freedreno/vulkan/tu_cmd_buffer.c | 13 +++++++++++++
 src/freedreno/vulkan/tu_pipeline.c   |  4 ++++
 2 files changed, 17 insertions(+)

diff --git a/src/freedreno/vulkan/tu_cmd_buffer.c b/src/freedreno/vulkan/tu_cmd_buffer.c
index 43e42141c86..abdf4880264 100644
--- a/src/freedreno/vulkan/tu_cmd_buffer.c
+++ b/src/freedreno/vulkan/tu_cmd_buffer.c
@@ -2469,6 +2469,19 @@ tu_CmdSetStencilOpEXT(VkCommandBuffer commandBuffer,
    cmd->state.dirty |= TU_CMD_DIRTY_RB_STENCIL_CNTL;
 }
 
+void
+tu_CmdSetDepthBiasEnableEXT(VkCommandBuffer commandBuffer,
+                            VkBool32 depthBiasEnable)
+{
+   TU_FROM_HANDLE(tu_cmd_buffer, cmd, commandBuffer);
+
+   cmd->state.gras_su_cntl &= ~A6XX_GRAS_SU_CNTL_POLY_OFFSET;
+   if (depthBiasEnable)
+      cmd->state.gras_su_cntl |= A6XX_GRAS_SU_CNTL_POLY_OFFSET;
+
+   cmd->state.dirty |= TU_CMD_DIRTY_GRAS_SU_CNTL;
+}
+
 static void
 tu_flush_for_access(struct tu_cache_state *cache,
                     enum tu_cmd_access_mask src_mask,
diff --git a/src/freedreno/vulkan/tu_pipeline.c b/src/freedreno/vulkan/tu_pipeline.c
index 15a39aa80db..a577484df79 100644
--- a/src/freedreno/vulkan/tu_pipeline.c
+++ b/src/freedreno/vulkan/tu_pipeline.c
@@ -2510,6 +2510,10 @@ tu_pipeline_builder_parse_dynamic(struct tu_pipeline_builder *builder,
                                              A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK);
          pipeline->dynamic_state_mask |= BIT(TU_DYNAMIC_STATE_RB_STENCIL_CNTL);
          break;
+      case VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT:
+         pipeline->gras_su_cntl_mask &= ~A6XX_GRAS_SU_CNTL_POLY_OFFSET;
+         pipeline->dynamic_state_mask |= BIT(TU_DYNAMIC_STATE_GRAS_SU_CNTL);
+         break;
       default:
          assert(!"unsupported dynamic state");
          break;



More information about the mesa-commit mailing list