Skip to content

Commit 6ce5bfe

Browse files
llandwerlin-inteljnikula
authored andcommitted
drm/i915: whitelist PS_(DEPTH|INVOCATION)_COUNT
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>
1 parent c270cac commit 6ce5bfe

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

drivers/gpu/drm/i915/gt/intel_workarounds.c

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

10991099
static void cfl_whitelist_build(struct intel_engine_cs *engine)
11001100
{
1101+
struct i915_wa_list *w = &engine->whitelist;
1102+
11011103
if (engine->class != RENDER_CLASS)
11021104
return;
11031105

1104-
gen9_whitelist_build(&engine->whitelist);
1106+
gen9_whitelist_build(w);
1107+
1108+
/*
1109+
* WaAllowPMDepthAndInvocationCountAccessFromUMD:cfl,whl,cml,aml
1110+
*
1111+
* This covers 4 register which are next to one another :
1112+
* - PS_INVOCATION_COUNT
1113+
* - PS_INVOCATION_COUNT_UDW
1114+
* - PS_DEPTH_COUNT
1115+
* - PS_DEPTH_COUNT_UDW
1116+
*/
1117+
whitelist_reg_ext(w, PS_INVOCATION_COUNT,
1118+
RING_FORCE_TO_NONPRIV_RD |
1119+
RING_FORCE_TO_NONPRIV_RANGE_4);
11051120
}
11061121

11071122
static void cnl_whitelist_build(struct intel_engine_cs *engine)

0 commit comments

Comments
 (0)