Skip to content

Commit 2c903da

Browse files
llandwerlin-intelickle
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 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
1 parent 361b690 commit 2c903da

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
@@ -1092,10 +1092,25 @@ static void glk_whitelist_build(struct intel_engine_cs *engine)
10921092

10931093
static void cfl_whitelist_build(struct intel_engine_cs *engine)
10941094
{
1095+
struct i915_wa_list *w = &engine->whitelist;
1096+
10951097
if (engine->class != RENDER_CLASS)
10961098
return;
10971099

1098-
gen9_whitelist_build(&engine->whitelist);
1100+
gen9_whitelist_build(w);
1101+
1102+
/*
1103+
* WaAllowPMDepthAndInvocationCountAccessFromUMD:cfl,whl,cml,aml
1104+
*
1105+
* This covers 4 register which are next to one another :
1106+
* - PS_INVOCATION_COUNT
1107+
* - PS_INVOCATION_COUNT_UDW
1108+
* - PS_DEPTH_COUNT
1109+
* - PS_DEPTH_COUNT_UDW
1110+
*/
1111+
whitelist_reg_ext(w, PS_INVOCATION_COUNT,
1112+
RING_FORCE_TO_NONPRIV_RD |
1113+
RING_FORCE_TO_NONPRIV_RANGE_4);
10991114
}
11001115

11011116
static void cnl_whitelist_build(struct intel_engine_cs *engine)

0 commit comments

Comments
 (0)