anv: implement EDS2.extendedDynamicState2PatchControlPoints
We make the compiler assume the worst possible case (it's not great because we have to burn 32 GRFs of potential input data) and then we push the actual value through push constants. This enables VK_EXT_gpl usage on zink, which causes two traces to change their results. Raven is an imperceptible change, blender has missing original pngs but looks plausible. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22378>
This commit is contained in:
committed by
Marge Bot
parent
429ef02f83
commit
e9fa840eed
@@ -457,10 +457,14 @@ void anv_CmdBindPipeline(
|
||||
}
|
||||
|
||||
if ((gfx_pipeline->fs_msaa_flags & BRW_WM_MSAA_FLAG_ENABLE_DYNAMIC) &&
|
||||
push->fs.msaa_flags != gfx_pipeline->fs_msaa_flags) {
|
||||
push->fs.msaa_flags = gfx_pipeline->fs_msaa_flags;
|
||||
push->gfx.fs_msaa_flags != gfx_pipeline->fs_msaa_flags) {
|
||||
push->gfx.fs_msaa_flags = gfx_pipeline->fs_msaa_flags;
|
||||
cmd_buffer->state.push_constants_dirty |= VK_SHADER_STAGE_FRAGMENT_BIT;
|
||||
}
|
||||
if (gfx_pipeline->dynamic_patch_control_points) {
|
||||
cmd_buffer->state.push_constants_dirty |=
|
||||
VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user