diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index b7f4dbab315..fcc506f1f0f 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -364,34 +364,6 @@ emit_vertex_input(struct anv_graphics_pipeline *pipeline, sgvs.XP2ElementOffset = drawid_slot; } #endif - -#if GFX_VERx10 >= 125 - struct anv_device *device = pipeline->base.base.device; - anv_pipeline_emit(pipeline, partial.vfg, GENX(3DSTATE_VFG), vfg) { - /* If 3DSTATE_TE: TE Enable == 1 then RR_STRICT else RR_FREE*/ - vfg.DistributionMode = - anv_pipeline_has_stage(pipeline, MESA_SHADER_TESS_EVAL) ? RR_STRICT : - RR_FREE; - vfg.DistributionGranularity = BatchLevelGranularity; - /* Wa_14014890652 */ - if (intel_device_info_is_dg2(device->info)) - vfg.GranularityThresholdDisable = 1; - /* 192 vertices for TRILIST_ADJ */ - vfg.ListNBatchSizeScale = 0; - /* Batch size of 384 vertices */ - vfg.List3BatchSizeScale = 2; - /* Batch size of 128 vertices */ - vfg.List2BatchSizeScale = 1; - /* Batch size of 128 vertices */ - vfg.List1BatchSizeScale = 2; - /* Batch size of 256 vertices for STRIP topologies */ - vfg.StripBatchSizeScale = 3; - /* 192 control points for PATCHLIST_3 */ - vfg.PatchBatchSizeScale = 1; - /* 192 control points for PATCHLIST_3 */ - vfg.PatchBatchSizeMultiplier = 31; - } -#endif } void @@ -1937,6 +1909,34 @@ genX(graphics_pipeline_emit)(struct anv_graphics_pipeline *pipeline, emit_3dstate_primitive_replication(pipeline, state->rp); #endif +#if GFX_VERx10 >= 125 + struct anv_device *device = pipeline->base.base.device; + anv_pipeline_emit(pipeline, partial.vfg, GENX(3DSTATE_VFG), vfg) { + /* If 3DSTATE_TE: TE Enable == 1 then RR_STRICT else RR_FREE*/ + vfg.DistributionMode = + anv_pipeline_has_stage(pipeline, MESA_SHADER_TESS_EVAL) ? RR_STRICT : + RR_FREE; + vfg.DistributionGranularity = BatchLevelGranularity; + /* Wa_14014890652 */ + if (intel_device_info_is_dg2(device->info)) + vfg.GranularityThresholdDisable = 1; + /* 192 vertices for TRILIST_ADJ */ + vfg.ListNBatchSizeScale = 0; + /* Batch size of 384 vertices */ + vfg.List3BatchSizeScale = 2; + /* Batch size of 128 vertices */ + vfg.List2BatchSizeScale = 1; + /* Batch size of 128 vertices */ + vfg.List1BatchSizeScale = 2; + /* Batch size of 256 vertices for STRIP topologies */ + vfg.StripBatchSizeScale = 3; + /* 192 control points for PATCHLIST_3 */ + vfg.PatchBatchSizeScale = 1; + /* 192 control points for PATCHLIST_3 */ + vfg.PatchBatchSizeMultiplier = 31; + } +#endif + if (anv_pipeline_is_primitive(pipeline)) { emit_vertex_input(pipeline, state, state->vi);