drm/i915: disable sampler indirect state in bindless heap
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Fri, 7 Apr 2023 09:32:37 +0000 (12:32 +0300)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Wed, 12 Apr 2023 08:36:09 +0000 (11:36 +0300)
commit81900e3a37750d8c6ad705045310e002f6dd0356
treeee4f5b03a1f1a8e2f1e18b3b19069f775876a584
parent55bf14961db9da61220e6f04bc9919c94b1a6585
drm/i915: disable sampler indirect state in bindless heap

By default the indirect state sampler data (border colors) are stored
in the same heap as the SAMPLER_STATE structure. For userspace drivers
that can be 2 different heaps (dynamic state heap & bindless sampler
state heap). This means that border colors have to copied in 2
different places so that the same SAMPLER_STATE structure find the
right data.

This change is forcing the indirect state sampler data to only be in
the dynamic state pool (more convenient for userspace drivers, they
only have to have one copy of the border colors). This is reproducing
the behavior of the Windows drivers.

BSpec: 46052

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: stable@vger.kernel.org
Reviewed-by: Haridhar Kalvala <haridhar.kalvala@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230407093237.3296286-1-lionel.g.landwerlin@intel.com
(cherry picked from commit 16fc9c08f0ec7b1c95f1ea4a16097acdb3fc943d)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/gt/intel_gt_regs.h
drivers/gpu/drm/i915/gt/intel_workarounds.c