mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 16:08:04 +02:00
anv/icl: Disable binding table prefetching
Gen 11 workarounds table #2056 WABTPPrefetchDisable suggests to
disable prefetching of binding tables for ICLLP A0 and B0
steppings. We have a similar patch for i965 driver in Mesa
commit a5889d70.
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
482f328f3b
commit
81b74b5d96
1 changed files with 15 additions and 6 deletions
|
|
@ -1136,7 +1136,11 @@ emit_3dstate_vs(struct anv_pipeline *pipeline)
|
|||
#endif
|
||||
vs.VectorMaskEnable = false;
|
||||
vs.SamplerCount = get_sampler_count(vs_bin);
|
||||
vs.BindingTableEntryCount = get_binding_table_entry_count(vs_bin);
|
||||
/* Gen 11 workarounds table #2056 WABTPPrefetchDisable suggests to
|
||||
* disable prefetching of binding tables on A0 and B0 steppings.
|
||||
* TODO: Revisit this WA on newer steppings.
|
||||
*/
|
||||
vs.BindingTableEntryCount = GEN_GEN == 11 ? 0 : get_binding_table_entry_count(vs_bin);
|
||||
vs.FloatingPointMode = IEEE754;
|
||||
vs.IllegalOpcodeExceptionEnable = false;
|
||||
vs.SoftwareExceptionEnable = false;
|
||||
|
|
@ -1187,7 +1191,8 @@ emit_3dstate_hs_te_ds(struct anv_pipeline *pipeline,
|
|||
hs.KernelStartPointer = tcs_bin->kernel.offset;
|
||||
|
||||
hs.SamplerCount = get_sampler_count(tcs_bin);
|
||||
hs.BindingTableEntryCount = get_binding_table_entry_count(tcs_bin);
|
||||
/* Gen 11 workarounds table #2056 WABTPPrefetchDisable */
|
||||
hs.BindingTableEntryCount = GEN_GEN == 11 ? 0 : get_binding_table_entry_count(tcs_bin);
|
||||
hs.MaximumNumberofThreads = devinfo->max_tcs_threads - 1;
|
||||
hs.IncludeVertexHandles = true;
|
||||
hs.InstanceCount = tcs_prog_data->instances - 1;
|
||||
|
|
@ -1237,7 +1242,8 @@ emit_3dstate_hs_te_ds(struct anv_pipeline *pipeline,
|
|||
ds.KernelStartPointer = tes_bin->kernel.offset;
|
||||
|
||||
ds.SamplerCount = get_sampler_count(tes_bin);
|
||||
ds.BindingTableEntryCount = get_binding_table_entry_count(tes_bin);
|
||||
/* Gen 11 workarounds table #2056 WABTPPrefetchDisable */
|
||||
ds.BindingTableEntryCount = GEN_GEN == 11 ? 0 : get_binding_table_entry_count(tes_bin);
|
||||
ds.MaximumNumberofThreads = devinfo->max_tes_threads - 1;
|
||||
|
||||
ds.ComputeWCoordinateEnable =
|
||||
|
|
@ -1294,7 +1300,8 @@ emit_3dstate_gs(struct anv_pipeline *pipeline)
|
|||
gs.SingleProgramFlow = false;
|
||||
gs.VectorMaskEnable = false;
|
||||
gs.SamplerCount = get_sampler_count(gs_bin);
|
||||
gs.BindingTableEntryCount = get_binding_table_entry_count(gs_bin);
|
||||
/* Gen 11 workarounds table #2056 WABTPPrefetchDisable */
|
||||
gs.BindingTableEntryCount = GEN_GEN == 11 ? 0 : get_binding_table_entry_count(gs_bin);
|
||||
gs.IncludeVertexHandles = gs_prog_data->base.include_vue_handles;
|
||||
gs.IncludePrimitiveID = gs_prog_data->include_primitive_id;
|
||||
|
||||
|
|
@ -1535,7 +1542,8 @@ emit_3dstate_ps(struct anv_pipeline *pipeline,
|
|||
ps.SingleProgramFlow = false;
|
||||
ps.VectorMaskEnable = true;
|
||||
ps.SamplerCount = get_sampler_count(fs_bin);
|
||||
ps.BindingTableEntryCount = get_binding_table_entry_count(fs_bin);
|
||||
/* Gen 11 workarounds table #2056 WABTPPrefetchDisable */
|
||||
ps.BindingTableEntryCount = GEN_GEN == 11 ? 0 : get_binding_table_entry_count(fs_bin);
|
||||
ps.PushConstantEnable = wm_prog_data->base.nr_params > 0 ||
|
||||
wm_prog_data->base.ubo_ranges[0].length;
|
||||
ps.PositionXYOffsetSelect = wm_prog_data->uses_pos_offset ?
|
||||
|
|
@ -1866,7 +1874,8 @@ compute_pipeline_create(
|
|||
.KernelStartPointer = cs_bin->kernel.offset,
|
||||
|
||||
.SamplerCount = get_sampler_count(cs_bin),
|
||||
.BindingTableEntryCount = get_binding_table_entry_count(cs_bin),
|
||||
/* Gen 11 workarounds table #2056 WABTPPrefetchDisable */
|
||||
.BindingTableEntryCount = GEN_GEN == 11 ? 0 : get_binding_table_entry_count(cs_bin),
|
||||
.BarrierEnable = cs_prog_data->uses_barrier,
|
||||
.SharedLocalMemorySize =
|
||||
encode_slm_size(GEN_GEN, cs_prog_data->base.total_shared),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue