diff options
author | Jason Ekstrand <[email protected]> | 2016-03-12 08:54:41 -0800 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2016-03-12 08:57:16 -0800 |
commit | 41af9b2e517dd0c17e519490ca915b96f6898390 (patch) | |
tree | a4d6c9a28eb81a603504cefdf02028603a8f5a97 | |
parent | 753ebe4457444e13124eba1e2e2e07edc9ab3c09 (diff) |
HACK: Don't re-configure L3$ in render stages pre-BDW
This fixes a "regression" on Haswell and prior caused by merging the gen7
and gen8 flush_state functions. Haswell should still work just fine if
you're on a 4.4 kernel, but we really should make it detect the command
parser version and do something intelligent.
-rw-r--r-- | src/intel/vulkan/genX_cmd_buffer.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index c3d2043dcdf..723f6d81a39 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -324,7 +324,18 @@ genX(cmd_buffer_flush_state)(struct anv_cmd_buffer *cmd_buffer) assert((pipeline->active_stages & VK_SHADER_STAGE_COMPUTE_BIT) == 0); +#if GEN_GEN >= 8 + /* FIXME (jason): Currently, the config_l3 function causes problems on + * Haswell and prior if you have a kernel older than 4.4. In order to + * work, it requires a couple of registers be white-listed in the + * command parser and they weren't added until 4.4. What we should do + * is check the command parser version and make it a no-op if your + * command parser is either off or too old. Compute won't work 100%, + * but at least 3-D will. In the mean time, I'm going to make this + * gen8+ only so that we can get Haswell working again. + */ genX(cmd_buffer_config_l3)(cmd_buffer, false); +#endif genX(flush_pipeline_select_3d)(cmd_buffer); |