mirror of
				https://github.com/tiagovignatti/intel-gpu-tools.git
				synced 2025-11-04 03:58:27 +00:00 
			
		
		
		
	lib/rendercopy_gen9: Setup Push constant pointer before sending BTP commands
From Gen9, by default push constant command is not committed to the shader unit untill the corresponding shader's BTP_* command is parsed. This is the behaviour when set shader is enabled. This patch updates the batch to follow this requirement otherwise it results in gpu hang. Set shader need to be disabled if legacy behaviour is required. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89959 Cc: Ben Widawsky <benjamin.widawsky@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Signed-off-by: Arun Siluvery <arun.siluvery@linux.intel.com> Tested-by: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
This commit is contained in:
		
							parent
							
								
									8a68ec1453
								
							
						
					
					
						commit
						dd82494724
					
				@ -590,12 +590,6 @@ gen8_emit_multisample(struct intel_batchbuffer *batch) {
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
gen8_emit_vs(struct intel_batchbuffer *batch) {
 | 
			
		||||
	OUT_BATCH(GEN7_3DSTATE_BINDING_TABLE_POINTERS_VS);
 | 
			
		||||
	OUT_BATCH(0);
 | 
			
		||||
 | 
			
		||||
	OUT_BATCH(GEN7_3DSTATE_SAMPLER_STATE_POINTERS_VS);
 | 
			
		||||
	OUT_BATCH(0);
 | 
			
		||||
 | 
			
		||||
	OUT_BATCH(GEN6_3DSTATE_CONSTANT_VS | (11-2));
 | 
			
		||||
	OUT_BATCH(0);
 | 
			
		||||
	OUT_BATCH(0);
 | 
			
		||||
@ -608,6 +602,12 @@ gen8_emit_vs(struct intel_batchbuffer *batch) {
 | 
			
		||||
	OUT_BATCH(0);
 | 
			
		||||
	OUT_BATCH(0);
 | 
			
		||||
 | 
			
		||||
	OUT_BATCH(GEN7_3DSTATE_BINDING_TABLE_POINTERS_VS);
 | 
			
		||||
	OUT_BATCH(0);
 | 
			
		||||
 | 
			
		||||
	OUT_BATCH(GEN7_3DSTATE_SAMPLER_STATE_POINTERS_VS);
 | 
			
		||||
	OUT_BATCH(0);
 | 
			
		||||
 | 
			
		||||
	OUT_BATCH(GEN6_3DSTATE_VS | (9-2));
 | 
			
		||||
	OUT_BATCH(0);
 | 
			
		||||
	OUT_BATCH(0);
 | 
			
		||||
@ -998,14 +998,14 @@ void gen9_render_copyfunc(struct intel_batchbuffer *batch,
 | 
			
		||||
 | 
			
		||||
	gen8_emit_sf(batch);
 | 
			
		||||
 | 
			
		||||
	gen8_emit_ps(batch, ps_kernel_off);
 | 
			
		||||
 | 
			
		||||
	OUT_BATCH(GEN7_3DSTATE_BINDING_TABLE_POINTERS_PS);
 | 
			
		||||
	OUT_BATCH(ps_binding_table);
 | 
			
		||||
 | 
			
		||||
	OUT_BATCH(GEN7_3DSTATE_SAMPLER_STATE_POINTERS_PS);
 | 
			
		||||
	OUT_BATCH(ps_sampler_state);
 | 
			
		||||
 | 
			
		||||
	gen8_emit_ps(batch, ps_kernel_off);
 | 
			
		||||
 | 
			
		||||
	OUT_BATCH(GEN6_3DSTATE_SCISSOR_STATE_POINTERS);
 | 
			
		||||
	OUT_BATCH(scissor_state);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user