diff options
author | Samuel Pitoiset <[email protected]> | 2020-06-11 17:14:27 +0200 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-06-29 08:43:14 +0000 |
commit | 76ee45d3a88dc1d85a8fb50620fb99032726cbec (patch) | |
tree | 70504456b2bbe71bd0adbbc2f4e373b05f01e04e /src/amd/vulkan/radv_pipeline.c | |
parent | 26a48d8d352b84dcfd11dcb0af08d9ae6333e543 (diff) |
radv: adjust CB_SHADER_MASK for dual-source blending in the shader info pass
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5434>
Diffstat (limited to 'src/amd/vulkan/radv_pipeline.c')
-rw-r--r-- | src/amd/vulkan/radv_pipeline.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 2816712bb2e..cb15fa35031 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -2340,6 +2340,7 @@ radv_generate_graphics_pipeline_key(struct radv_pipeline *pipeline, } key.col_format = blend->spi_shader_col_format; + key.is_dual_src = blend->mrt0_is_dual_src; if (pipeline->device->physical_device->rad_info.chip_class < GFX8) radv_pipeline_compute_get_int_clamp(pCreateInfo, &key.is_int8, &key.is_int10); @@ -2462,6 +2463,7 @@ radv_fill_shader_keys(struct radv_device *device, keys[MESA_SHADER_FRAGMENT].fs.is_int10 = key->is_int10; keys[MESA_SHADER_FRAGMENT].fs.log2_ps_iter_samples = key->log2_ps_iter_samples; keys[MESA_SHADER_FRAGMENT].fs.num_samples = key->num_samples; + keys[MESA_SHADER_FRAGMENT].fs.is_dual_src = key->is_dual_src; if (nir[MESA_SHADER_COMPUTE]) { keys[MESA_SHADER_COMPUTE].cs.subgroup_size = key->compute_subgroup_size; @@ -5128,9 +5130,6 @@ radv_pipeline_init(struct radv_pipeline *pipeline, } blend.cb_shader_mask = ps->info.ps.cb_shader_mask; - if (blend.mrt0_is_dual_src) { - blend.cb_shader_mask |= (blend.cb_shader_mask & 0xf) << 4; - } if (extra && (extra->custom_blend_mode == V_028808_CB_ELIMINATE_FAST_CLEAR || |