From: Francisco Jerez <[email protected]>

Change-Id: I00ec9f7bc89b1cd7aea9d4572c75eacd09443dc8
---
 src/intel/blorp/blorp_genX_exec.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/intel/blorp/blorp_genX_exec.h 
b/src/intel/blorp/blorp_genX_exec.h
index 593521b..af591c7 100644
--- a/src/intel/blorp/blorp_genX_exec.h
+++ b/src/intel/blorp/blorp_genX_exec.h
@@ -761,13 +761,22 @@ blorp_emit_ps_config(struct blorp_batch *batch,
       if (prog_data) {
          ps.DispatchGRFStartRegisterForConstantSetupData0 =
             prog_data->base.dispatch_grf_start_reg;
+         ps.DispatchGRFStartRegisterForConstantSetupData1 =
+            prog_data->dispatch_grf_start_reg_1;
          ps.DispatchGRFStartRegisterForConstantSetupData2 =
             prog_data->dispatch_grf_start_reg_2;
 
          ps._8PixelDispatchEnable = prog_data->dispatch_8;
          ps._16PixelDispatchEnable = prog_data->dispatch_16;
+         ps._32PixelDispatchEnable = (prog_data->dispatch_32 &&
+                                      (params->num_samples < 16 ||
+                                       prog_data->persample_dispatch));
+         assert(!prog_data->dispatch_32 || ps._32PixelDispatchEnable ||
+                (prog_data->dispatch_8 && prog_data->dispatch_16));
 
          ps.KernelStartPointer0 = params->wm_prog_kernel;
+         ps.KernelStartPointer1 =
+            params->wm_prog_kernel + prog_data->prog_offset_1;
          ps.KernelStartPointer2 =
             params->wm_prog_kernel + prog_data->prog_offset_2;
       }
@@ -865,15 +874,20 @@ blorp_emit_ps_config(struct blorp_batch *batch,
       if (prog_data) {
          ps.DispatchGRFStartRegisterForConstantSetupData0 =
             prog_data->base.dispatch_grf_start_reg;
+         ps.DispatchGRFStartRegisterForConstantSetupData1 =
+            prog_data->dispatch_grf_start_reg_1;
          ps.DispatchGRFStartRegisterForConstantSetupData2 =
             prog_data->dispatch_grf_start_reg_2;
 
          ps.KernelStartPointer0 = params->wm_prog_kernel;
+         ps.KernelStartPointer1 =
+            params->wm_prog_kernel + prog_data->prog_offset_1;
          ps.KernelStartPointer2 =
             params->wm_prog_kernel + prog_data->prog_offset_2;
 
          ps._8PixelDispatchEnable = prog_data->dispatch_8;
          ps._16PixelDispatchEnable = prog_data->dispatch_16;
+         ps._32PixelDispatchEnable = prog_data->dispatch_32;
 
          ps.AttributeEnable = prog_data->num_varying_inputs > 0;
       } else {
@@ -927,15 +941,20 @@ blorp_emit_ps_config(struct blorp_batch *batch,
 
          wm.DispatchGRFStartRegisterForConstantSetupData0 =
             prog_data->base.dispatch_grf_start_reg;
+         wm.DispatchGRFStartRegisterForConstantSetupData1 =
+            prog_data->dispatch_grf_start_reg_1;
          wm.DispatchGRFStartRegisterForConstantSetupData2 =
             prog_data->dispatch_grf_start_reg_2;
 
          wm.KernelStartPointer0 = params->wm_prog_kernel;
+         wm.KernelStartPointer1 =
+            params->wm_prog_kernel + prog_data->prog_offset_1;
          wm.KernelStartPointer2 =
             params->wm_prog_kernel + prog_data->prog_offset_2;
 
          wm._8PixelDispatchEnable = prog_data->dispatch_8;
          wm._16PixelDispatchEnable = prog_data->dispatch_16;
+         wm._32PixelDispatchEnable = prog_data->dispatch_32;
 
          wm.NumberofSFOutputAttributes = prog_data->num_varying_inputs;
       }
-- 
2.7.4

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to