intel/compiler/gen10: Disable push constants.

We still have gpu hangs on Cannonlake when using push constants, so
disable them for now until we have a proper fix for these hangs.

v2: Add warning message when creating context too.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Cc: Ben Widawsky <ben@bwidawsk.net>
Cc: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
This commit is contained in:
Rafael Antognolli 2017-12-18 15:23:11 -08:00
parent 4237c3d645
commit 85789831b4
2 changed files with 16 additions and 0 deletions

View File

@ -2096,6 +2096,15 @@ fs_visitor::assign_constant_locations()
if (subgroup_id_index >= 0)
max_push_components--; /* Save a slot for the thread ID */
/* FIXME: We currently have some GPU hangs that happen apparently when using
* push constants. Since we have no solution for such hangs yet, just
* go ahead and use pull constants for now.
*/
if (devinfo->gen == 10 && compiler->supports_pull_constants) {
compiler->shader_perf_log(log_data, "Disabling push constants.");
max_push_components = 0;
}
/* We push small arrays, but no bigger than 16 floats. This is big enough
* for a vec4 but hopefully not large enough to push out other stuff. We
* should probably use a better heuristic at some point.

View File

@ -1022,6 +1022,13 @@ brwCreateContext(gl_api api,
return false;
}
if (devinfo->gen == 10) {
fprintf(stderr,
"WARNING: i965 does not fully support Gen10 yet.\n"
"Instability or lower performance might occur.\n");
}
brw_init_state(brw);
intelInitExtensions(ctx);