diff options
-rw-r--r-- | .pick_status.json | 2 | ||||
-rw-r--r-- | src/panfrost/lib/pan_blend.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/.pick_status.json b/.pick_status.json index 9f848f9a2d7..7fdde6b1651 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -670,7 +670,7 @@ "description": "panfrost: Copy blend constant into variant even when reusing it", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "bbff09b9521f17b40441885d06e089abf6c2e0b1" }, diff --git a/src/panfrost/lib/pan_blend.c b/src/panfrost/lib/pan_blend.c index d9593004ca8..82f1a6fa0c2 100644 --- a/src/panfrost/lib/pan_blend.c +++ b/src/panfrost/lib/pan_blend.c @@ -802,7 +802,6 @@ GENX(pan_blend_get_shader_locked)(const struct panfrost_device *dev, if (shader->nvariants < PAN_BLEND_SHADER_MAX_VARIANTS) { variant = rzalloc(shader, struct pan_blend_shader_variant); - memcpy(variant->constants, state->constants, sizeof(variant->constants)); util_dynarray_init(&variant->binary, variant); list_add(&variant->node, &shader->variants); shader->nvariants++; @@ -813,6 +812,8 @@ GENX(pan_blend_get_shader_locked)(const struct panfrost_device *dev, util_dynarray_clear(&variant->binary); } + memcpy(variant->constants, state->constants, sizeof(variant->constants)); + nir_shader *nir = GENX(pan_blend_create_shader)(dev, state, src0_type, src1_type, rt); |