diff --git a/src/freedreno/vulkan/tu_clear_blit.c b/src/freedreno/vulkan/tu_clear_blit.c index b9b19525bf4..36e5e35387a 100644 --- a/src/freedreno/vulkan/tu_clear_blit.c +++ b/src/freedreno/vulkan/tu_clear_blit.c @@ -248,7 +248,8 @@ r2d_src(struct tu_cmd_buffer *cmd, if (filter != VK_FILTER_NEAREST) src_info |= A6XX_SP_PS_2D_SRC_INFO_FILTER; - enum a6xx_format fmt = (src_info & A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT__MASK); + enum a6xx_format fmt = (enum a6xx_format)( + src_info & A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT__MASK); enum pipe_format src_format = iview->format; fixup_src_format(&src_format, dst_format, &fmt); @@ -327,7 +328,8 @@ r2d_dst(struct tu_cs *cs, const struct fdl6_view *iview, uint32_t layer, enum pipe_format src_format) { uint32_t dst_info = iview->RB_2D_DST_INFO; - enum a6xx_format fmt = dst_info & A6XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK; + enum a6xx_format fmt = + (enum a6xx_format)(dst_info & A6XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK); enum pipe_format dst_format = iview->format; fixup_dst_format(src_format, &dst_format, &fmt); @@ -1049,8 +1051,8 @@ r3d_src(struct tu_cmd_buffer *cmd, uint32_t desc[A6XX_TEX_CONST_DWORDS]; memcpy(desc, iview->descriptor, sizeof(desc)); - enum a6xx_format fmt = (desc[0] & A6XX_TEX_CONST_0_FMT__MASK) >> - A6XX_TEX_CONST_0_FMT__SHIFT; + enum a6xx_format fmt = (enum a6xx_format)( + (desc[0] & A6XX_TEX_CONST_0_FMT__MASK) >> A6XX_TEX_CONST_0_FMT__SHIFT); enum pipe_format src_format = iview->format; fixup_src_format(&src_format, dst_format, &fmt); desc[0] = (desc[0] & ~A6XX_TEX_CONST_0_FMT__MASK) | @@ -1143,7 +1145,8 @@ r3d_dst(struct tu_cs *cs, const struct fdl6_view *iview, uint32_t layer, { uint32_t mrt_buf_info = iview->RB_MRT_BUF_INFO; - enum a6xx_format fmt = mrt_buf_info & A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK; + enum a6xx_format fmt = (enum a6xx_format)( + mrt_buf_info & A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK); enum pipe_format dst_format = iview->format; fixup_dst_format(src_format, &dst_format, &fmt); mrt_buf_info = diff --git a/src/freedreno/vulkan/tu_cmd_buffer.c b/src/freedreno/vulkan/tu_cmd_buffer.c index 3533531f224..f93a893f055 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.c +++ b/src/freedreno/vulkan/tu_cmd_buffer.c @@ -1237,8 +1237,9 @@ tu_emit_input_attachments(struct tu_cmd_buffer *cmd, * of a renderpass. We have to patch the descriptor to make it compatible * with how it is sampled in shader. */ - enum a6xx_tex_type tex_type = (dst[2] & A6XX_TEX_CONST_2_TYPE__MASK) >> - A6XX_TEX_CONST_2_TYPE__SHIFT; + enum a6xx_tex_type tex_type = + (enum a6xx_tex_type)((dst[2] & A6XX_TEX_CONST_2_TYPE__MASK) >> + A6XX_TEX_CONST_2_TYPE__SHIFT); if (tex_type == A6XX_TEX_CUBE) { dst[2] &= ~A6XX_TEX_CONST_2_TYPE__MASK; dst[2] |= A6XX_TEX_CONST_2_TYPE(A6XX_TEX_2D); @@ -4786,18 +4787,18 @@ tu6_update_simplified_stencil_state(struct tu_cmd_buffer *cmd) ((cmd->state.dynamic_stencil_wrmask & 0xff00) >> 8) : (cmd->state.pipeline->ds.stencil_wrmask & 0xff00) >> 8; - VkStencilOp front_fail_op = - (cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_FAIL__MASK) >> A6XX_RB_STENCIL_CONTROL_FAIL__SHIFT; - VkStencilOp front_pass_op = - (cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_ZPASS__MASK) >> A6XX_RB_STENCIL_CONTROL_ZPASS__SHIFT; - VkStencilOp front_depth_fail_op = - (cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_ZFAIL__MASK) >> A6XX_RB_STENCIL_CONTROL_ZFAIL__SHIFT; - VkStencilOp back_fail_op = - (cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_FAIL_BF__MASK) >> A6XX_RB_STENCIL_CONTROL_FAIL_BF__SHIFT; - VkStencilOp back_pass_op = - (cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_ZPASS_BF__MASK) >> A6XX_RB_STENCIL_CONTROL_ZPASS_BF__SHIFT; - VkStencilOp back_depth_fail_op = - (cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK) >> A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT; + VkStencilOp front_fail_op = (VkStencilOp) + ((cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_FAIL__MASK) >> A6XX_RB_STENCIL_CONTROL_FAIL__SHIFT); + VkStencilOp front_pass_op = (VkStencilOp) + ((cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_ZPASS__MASK) >> A6XX_RB_STENCIL_CONTROL_ZPASS__SHIFT); + VkStencilOp front_depth_fail_op = (VkStencilOp) + ((cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_ZFAIL__MASK) >> A6XX_RB_STENCIL_CONTROL_ZFAIL__SHIFT); + VkStencilOp back_fail_op = (VkStencilOp) + ((cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_FAIL_BF__MASK) >> A6XX_RB_STENCIL_CONTROL_FAIL_BF__SHIFT); + VkStencilOp back_pass_op = (VkStencilOp) + ((cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_ZPASS_BF__MASK) >> A6XX_RB_STENCIL_CONTROL_ZPASS_BF__SHIFT); + VkStencilOp back_depth_fail_op = (VkStencilOp) + ((cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK) >> A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT); bool stencil_front_op_writes = front_pass_op != VK_STENCIL_OP_KEEP || @@ -4821,8 +4822,8 @@ tu6_writes_depth(struct tu_cmd_buffer *cmd, bool depth_test_enable) bool depth_write_enable = cmd->state.rb_depth_cntl & A6XX_RB_DEPTH_CNTL_Z_WRITE_ENABLE; - VkCompareOp depth_compare_op = - (cmd->state.rb_depth_cntl & A6XX_RB_DEPTH_CNTL_ZFUNC__MASK) >> A6XX_RB_DEPTH_CNTL_ZFUNC__SHIFT; + VkCompareOp depth_compare_op = (VkCompareOp) + ((cmd->state.rb_depth_cntl & A6XX_RB_DEPTH_CNTL_ZFUNC__MASK) >> A6XX_RB_DEPTH_CNTL_ZFUNC__SHIFT); bool depth_compare_op_writes = depth_compare_op != VK_COMPARE_OP_NEVER; diff --git a/src/freedreno/vulkan/tu_lrz.c b/src/freedreno/vulkan/tu_lrz.c index 6a04e3e0dc1..f009ebae543 100644 --- a/src/freedreno/vulkan/tu_lrz.c +++ b/src/freedreno/vulkan/tu_lrz.c @@ -560,10 +560,13 @@ tu6_calculate_lrz_state(struct tu_cmd_buffer *cmd, const uint32_t a) { struct tu_pipeline *pipeline = cmd->state.pipeline; - bool z_test_enable = cmd->state.rb_depth_cntl & A6XX_RB_DEPTH_CNTL_Z_TEST_ENABLE; - bool z_write_enable = cmd->state.rb_depth_cntl & A6XX_RB_DEPTH_CNTL_Z_WRITE_ENABLE; - bool z_bounds_enable = cmd->state.rb_depth_cntl & A6XX_RB_DEPTH_CNTL_Z_BOUNDS_ENABLE; - VkCompareOp depth_compare_op = (cmd->state.rb_depth_cntl & A6XX_RB_DEPTH_CNTL_ZFUNC__MASK) >> A6XX_RB_DEPTH_CNTL_ZFUNC__SHIFT; + bool z_test_enable = (bool) (cmd->state.rb_depth_cntl & A6XX_RB_DEPTH_CNTL_Z_TEST_ENABLE); + bool z_write_enable = (bool) (cmd->state.rb_depth_cntl & A6XX_RB_DEPTH_CNTL_Z_WRITE_ENABLE); + bool z_bounds_enable = (bool) (cmd->state.rb_depth_cntl & A6XX_RB_DEPTH_CNTL_Z_BOUNDS_ENABLE); + VkCompareOp depth_compare_op = + (VkCompareOp) ((cmd->state.rb_depth_cntl & + A6XX_RB_DEPTH_CNTL_ZFUNC__MASK) >> + A6XX_RB_DEPTH_CNTL_ZFUNC__SHIFT); struct A6XX_GRAS_LRZ_CNTL gras_lrz_cntl = { 0 }; @@ -760,11 +763,11 @@ tu6_calculate_lrz_state(struct tu_cmd_buffer *cmd, /* Invalidate LRZ and disable write if stencil test is enabled */ bool stencil_test_enable = cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_STENCIL_ENABLE; if (!disable_lrz && stencil_test_enable) { - VkCompareOp stencil_front_compare_op = - (cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_FUNC__MASK) >> A6XX_RB_STENCIL_CONTROL_FUNC__SHIFT; + VkCompareOp stencil_front_compare_op = (VkCompareOp) + ((cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_FUNC__MASK) >> A6XX_RB_STENCIL_CONTROL_FUNC__SHIFT); - VkCompareOp stencil_back_compare_op = - (cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_FUNC_BF__MASK) >> A6XX_RB_STENCIL_CONTROL_FUNC_BF__SHIFT; + VkCompareOp stencil_back_compare_op = (VkCompareOp) + ((cmd->state.rb_stencil_cntl & A6XX_RB_STENCIL_CONTROL_FUNC_BF__MASK) >> A6XX_RB_STENCIL_CONTROL_FUNC_BF__SHIFT); bool lrz_allowed = true; lrz_allowed = lrz_allowed && tu6_stencil_op_lrz_allowed(