Mesa (main): v3dv: don't use a global constant for default pipeline dynamic state
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Nov 12 11:22:12 UTC 2021
Module: Mesa
Branch: main
Commit: 7490bcad372b820166b0e60664d8fabcdbc71514
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7490bcad372b820166b0e60664d8fabcdbc71514
Author: Iago Toral Quiroga <itoral at igalia.com>
Date: Fri Nov 12 08:28:18 2021 +0100
v3dv: don't use a global constant for default pipeline dynamic state
Some of these may change across V3D versions, so it is not practical.
Reviewed-by: Alejandro Piñeiro <apinheiro at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13775>
---
src/broadcom/vulkan/v3dv_cmd_buffer.c | 32 --------------------------------
src/broadcom/vulkan/v3dv_pipeline.c | 9 ++++++++-
src/broadcom/vulkan/v3dv_private.h | 2 --
3 files changed, 8 insertions(+), 35 deletions(-)
diff --git a/src/broadcom/vulkan/v3dv_cmd_buffer.c b/src/broadcom/vulkan/v3dv_cmd_buffer.c
index ba30f34af80..4fe78ad71e7 100644
--- a/src/broadcom/vulkan/v3dv_cmd_buffer.c
+++ b/src/broadcom/vulkan/v3dv_cmd_buffer.c
@@ -26,38 +26,6 @@
#include "vk_format_info.h"
#include "vk_util.h"
-const struct v3dv_dynamic_state default_dynamic_state = {
- .viewport = {
- .count = 0,
- },
- .scissor = {
- .count = 0,
- },
- .stencil_compare_mask =
- {
- .front = ~0u,
- .back = ~0u,
- },
- .stencil_write_mask =
- {
- .front = ~0u,
- .back = ~0u,
- },
- .stencil_reference =
- {
- .front = 0u,
- .back = 0u,
- },
- .blend_constants = { 0.0f, 0.0f, 0.0f, 0.0f },
- .depth_bias = {
- .constant_factor = 0.0f,
- .depth_bias_clamp = 0.0f,
- .slope_factor = 0.0f,
- },
- .line_width = 1.0f,
- .color_write_enable = (1ull << (4 * V3D_MAX_DRAW_BUFFERS)) - 1,
-};
-
void
v3dv_job_add_bo(struct v3dv_job *job, struct v3dv_bo *bo)
{
diff --git a/src/broadcom/vulkan/v3dv_pipeline.c b/src/broadcom/vulkan/v3dv_pipeline.c
index 9477087ae3a..0f5c07de052 100644
--- a/src/broadcom/vulkan/v3dv_pipeline.c
+++ b/src/broadcom/vulkan/v3dv_pipeline.c
@@ -2694,8 +2694,15 @@ pipeline_init_dynamic_state(
const VkPipelineRasterizationStateCreateInfo *pRasterizationState,
const VkPipelineColorWriteCreateInfoEXT *pColorWriteState)
{
- pipeline->dynamic_state = default_dynamic_state;
+ /* Initialize to default values */
struct v3dv_dynamic_state *dynamic = &pipeline->dynamic_state;
+ memset(dynamic, 0, sizeof(*dynamic));
+ dynamic->stencil_compare_mask.front = ~0;
+ dynamic->stencil_compare_mask.back = ~0;
+ dynamic->stencil_write_mask.front = ~0;
+ dynamic->stencil_write_mask.back = ~0;
+ dynamic->line_width = 1.0f;
+ dynamic->color_write_enable = (1ull << (4 * V3D_MAX_DRAW_BUFFERS)) - 1;
/* Create a mask of enabled dynamic states */
uint32_t dynamic_states = 0;
diff --git a/src/broadcom/vulkan/v3dv_private.h b/src/broadcom/vulkan/v3dv_private.h
index 8fbb78eb739..314e058269b 100644
--- a/src/broadcom/vulkan/v3dv_private.h
+++ b/src/broadcom/vulkan/v3dv_private.h
@@ -843,8 +843,6 @@ struct v3dv_dynamic_state {
uint32_t color_write_enable;
};
-extern const struct v3dv_dynamic_state default_dynamic_state;
-
void v3dv_viewport_compute_xform(const VkViewport *viewport,
float scale[3],
float translate[3]);
More information about the mesa-commit
mailing list