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

Author: Matt Coster <[email protected]>
Date:   Fri Sep 30 10:13:31 2022 +0100

pvr: Remove scissor_accum dynamic state

This state is only required for an as-yet-unimplemented optimization.
If that optimization is ever implemented in the future, these
structures can be added back.

Signed-off-by: Matt Coster <[email protected]>
Reviewed-by: Karmjit Mahil <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19342>

---

 src/imagination/vulkan/pvr_cmd_buffer.c | 10 ----------
 src/imagination/vulkan/pvr_private.h    | 23 -----------------------
 2 files changed, 33 deletions(-)

diff --git a/src/imagination/vulkan/pvr_cmd_buffer.c 
b/src/imagination/vulkan/pvr_cmd_buffer.c
index 15fca2e2d22..a3ebe893f93 100644
--- a/src/imagination/vulkan/pvr_cmd_buffer.c
+++ b/src/imagination/vulkan/pvr_cmd_buffer.c
@@ -2584,16 +2584,6 @@ void pvr_CmdBeginRenderPass2(VkCommandBuffer 
commandBuffer,
    pvr_perform_start_of_render_clears(cmd_buffer);
    pvr_stash_depth_format(&cmd_buffer->state,
                           &cmd_buffer->state.current_sub_cmd->gfx);
-
-   if (!pvr_loadops_contain_clear(pass->hw_setup)) {
-      state->dynamic.scissor_accum_state = PVR_SCISSOR_ACCUM_CHECK_FOR_CLEAR;
-      state->dynamic.scissor_accum_bounds.offset.x = 0;
-      state->dynamic.scissor_accum_bounds.offset.y = 0;
-      state->dynamic.scissor_accum_bounds.extent.width = 0;
-      state->dynamic.scissor_accum_bounds.extent.height = 0;
-   } else {
-      state->dynamic.scissor_accum_state = PVR_SCISSOR_ACCUM_DISABLED;
-   }
 }
 
 VkResult pvr_BeginCommandBuffer(VkCommandBuffer commandBuffer,
diff --git a/src/imagination/vulkan/pvr_private.h 
b/src/imagination/vulkan/pvr_private.h
index d8674d005f3..9c88e6fa3da 100644
--- a/src/imagination/vulkan/pvr_private.h
+++ b/src/imagination/vulkan/pvr_private.h
@@ -165,21 +165,6 @@ enum pvr_stage_allocation {
    PVR_STAGE_ALLOCATION_COUNT
 };
 
-/* Scissor accumulation state defines
- *  - Disabled means that a clear has been detected, and scissor accumulation
- *    should stop.
- *  - Check for clear is when there's no clear loadops, but there could be
- *    another clear call that would be broken via scissoring
- *  - Enabled means that a scissor has been set in the pipeline, and
- *    accumulation can continue
- */
-enum pvr_scissor_accum_state {
-   PVR_SCISSOR_ACCUM_INVALID = 0, /* Explicitly treat 0 as invalid */
-   PVR_SCISSOR_ACCUM_DISABLED,
-   PVR_SCISSOR_ACCUM_CHECK_FOR_CLEAR,
-   PVR_SCISSOR_ACCUM_ENABLED,
-};
-
 #define PVR_STATIC_CLEAR_PDS_STATE_COUNT          \
    (pvr_cmd_length(TA_STATE_PDS_SHADERBASE) +     \
     pvr_cmd_length(TA_STATE_PDS_TEXUNICODEBASE) + \
@@ -976,14 +961,6 @@ struct pvr_cmd_buffer_state {
    struct PVRX(TA_STATE_HEADER) emit_header;
 
    struct {
-      /* FIXME: Check if we need a dirty state flag for the given scissor
-       * accumulation state.
-       * Check whether these members should be moved in the top level struct
-       * and this struct replaces with just pvr_dynamic_state "dynamic".
-       */
-      enum pvr_scissor_accum_state scissor_accum_state;
-      VkRect2D scissor_accum_bounds;
-
       struct pvr_dynamic_state common;
    } dynamic;
 

Reply via email to