diff --git a/.pick_status.json b/.pick_status.json index de3668fd45d..98774dd0e3f 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -5884,7 +5884,7 @@ "description": "isl: Respect driconf option for EnableSamplerRoutetoLSC", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "7934b70ff1e5785b30c8a3635ebb84f5786688b7", "notes": null diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c index 1ad7339d452..9f33f682f10 100644 --- a/src/intel/isl/isl_surface_state.c +++ b/src/intel/isl/isl_surface_state.c @@ -1071,6 +1071,12 @@ isl_genX(buffer_fill_state_s)(const struct isl_device *dev, void *state, #if GFX_VERx10 >= 200 s.EnableSamplerRoutetoLSC = isl_format_support_sampler_route_to_lsc(info->format); + /* Per-application override. + * + * Bspec 57023: "Enable Sampler Route to LSC" programming note states that, + * this bit can be set for surface type SURFTYPE_2D or SURFTYPE_BUFFER. + */ + s.EnableSamplerRoutetoLSC &= dev->sampler_route_to_lsc; #endif /* if GFX_VERx10 >= 200 */ s.SurfaceBaseAddress = info->address;