Skip to content

Commit 567c377

Browse files
llandwerlin-intelStollD
authored andcommitted
drm/i915: whitelist PS_(DEPTH|INVOCATION)_COUNT
[ Upstream commit 6ce5bfe ] CFL:C0+ changed the status of those registers which are now blacklisted by default. This is breaking a number of CTS tests on GL & Vulkan : KHR-GL45.pipeline_statistics_query_tests_ARB.functional_fragment_shader_invocations (GL) dEQP-VK.query_pool.statistics_query.fragment_shader_invocations.* (Vulkan) v2: Only use one whitelist entry (Lionel) Bspec: 14091 Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: stable@vger.kernel.org # 6883eab27481: drm/i915: Support flags in whitlist WAs Cc: stable@vger.kernel.org Acked-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20190628120720.21682-3-lionel.g.landwerlin@intel.com (cherry picked from commit 2c903da) Signed-off-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent b9c9de4 commit 567c377

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

drivers/gpu/drm/i915_legacy/intel_workarounds.c

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1061,10 +1061,25 @@ static void glk_whitelist_build(struct intel_engine_cs *engine)
10611061

10621062
static void cfl_whitelist_build(struct intel_engine_cs *engine)
10631063
{
1064+
struct i915_wa_list *w = &engine->whitelist;
1065+
10641066
if (engine->class != RENDER_CLASS)
10651067
return;
10661068

1067-
gen9_whitelist_build(&engine->whitelist);
1069+
gen9_whitelist_build(w);
1070+
1071+
/*
1072+
* WaAllowPMDepthAndInvocationCountAccessFromUMD:cfl,whl,cml,aml
1073+
*
1074+
* This covers 4 register which are next to one another :
1075+
* - PS_INVOCATION_COUNT
1076+
* - PS_INVOCATION_COUNT_UDW
1077+
* - PS_DEPTH_COUNT
1078+
* - PS_DEPTH_COUNT_UDW
1079+
*/
1080+
whitelist_reg_ext(w, PS_INVOCATION_COUNT,
1081+
RING_FORCE_TO_NONPRIV_RD |
1082+
RING_FORCE_TO_NONPRIV_RANGE_4);
10681083
}
10691084

10701085
static void cnl_whitelist_build(struct intel_engine_cs *engine)

0 commit comments

Comments
 (0)