[Mesa-stable] [PATCH 10/11] genxml: Make ScratchSpaceBasePointer an address instead of an offset

Jason Ekstrand jason at jlekstrand.net
Fri Jun 17 20:53:27 UTC 2016


While we're here, we also fixup MEDIA_VFE_STATE and rename the field in
3DSTATE_VS on gen6-7.5 to be consistent with the others.

Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
Cc: Francisco Jerez <currojerez at riseup.net>
---
 src/intel/genxml/gen6.xml        |  8 ++++----
 src/intel/genxml/gen7.xml        | 12 ++++++------
 src/intel/genxml/gen75.xml       | 12 ++++++------
 src/intel/genxml/gen8.xml        | 13 ++++++-------
 src/intel/genxml/gen9.xml        | 13 ++++++-------
 src/intel/vulkan/gen7_pipeline.c | 18 +++++++++++++++---
 src/intel/vulkan/gen8_pipeline.c | 15 ++++++++++++---
 src/intel/vulkan/genX_pipeline.c |  6 ++++--
 8 files changed, 59 insertions(+), 38 deletions(-)

diff --git a/src/intel/genxml/gen6.xml b/src/intel/genxml/gen6.xml
index 7525fce..44e2804 100644
--- a/src/intel/genxml/gen6.xml
+++ b/src/intel/genxml/gen6.xml
@@ -971,7 +971,7 @@
     <field name="Illegal Opcode Exception Enable" start="77" end="77" type="bool"/>
     <field name="Mask Stack Exception Enable" start="75" end="75" type="bool"/>
     <field name="Software  Exception Enable" start="71" end="71" type="bool"/>
-    <field name="Scratch Space Base Pointer" start="106" end="127" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="106" end="127" type="address"/>
     <field name="Per-Thread Scratch Space" start="96" end="99" type="uint"/>
     <field name="Vertex URB Entry Read Length" start="139" end="144" type="uint"/>
     <field name="Vertex URB Entry Read Offset" start="132" end="137" type="uint"/>
@@ -1346,7 +1346,7 @@
     </field>
     <field name="Illegal Opcode Exception Enable" start="77" end="77" type="bool"/>
     <field name="Software  Exception Enable" start="71" end="71" type="bool"/>
-    <field name="Scratch Space Base Offset" start="106" end="127" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="106" end="127" type="address"/>
     <field name="Per-Thread Scratch Space" start="96" end="99" type="uint"/>
     <field name="Dispatch GRF Start Register for URB Data" start="148" end="152" type="uint"/>
     <field name="Vertex URB Entry Read Length" start="139" end="144" type="uint"/>
@@ -1378,7 +1378,7 @@
     <field name="Illegal Opcode Exception Enable" start="77" end="77" type="bool"/>
     <field name="MaskStack Exception Enable" start="75" end="75" type="bool"/>
     <field name="Software Exception Enable" start="71" end="71" type="bool"/>
-    <field name="Scratch Space Base Pointer" start="106" end="127" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="106" end="127" type="address"/>
     <field name="Per Thread Scratch Space" start="96" end="99" type="uint"/>
     <field name="Statistics Enable" start="159" end="159" type="bool"/>
     <field name="Depth Buffer Clear" start="158" end="158" type="bool"/>
@@ -1578,7 +1578,7 @@
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
     <field name="SubOpcode" start="16" end="23" type="uint" default="0"/>
     <field name="DWord Length" start="0" end="15" type="uint" default="6"/>
-    <field name="Scratch Space Base Pointer" start="42" end="63" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="42" end="63" type="address"/>
     <field name="Per Thread Scratch Space" start="32" end="35" type="uint"/>
     <field name="Maximum Number of Threads" start="80" end="95" type="uint"/>
     <field name="Number of URB Entries" start="72" end="79" type="uint"/>
diff --git a/src/intel/genxml/gen7.xml b/src/intel/genxml/gen7.xml
index 6f3e8cc..09d816d 100644
--- a/src/intel/genxml/gen7.xml
+++ b/src/intel/genxml/gen7.xml
@@ -1113,7 +1113,7 @@
     </field>
     <field name="Illegal Opcode Exception Enable" start="77" end="77" type="bool"/>
     <field name="Software Exception Enable" start="71" end="71" type="bool"/>
-    <field name="Scratch Space Base Pointer" start="106" end="127" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="106" end="127" type="address"/>
     <field name="Per-Thread Scratch Space" start="96" end="99" type="uint"/>
     <field name="Dispatch GRF Start Register For URB Data" start="148" end="152" type="uint"/>
     <field name="Patch URB Entry Read Length" start="139" end="145" type="uint"/>
@@ -1153,7 +1153,7 @@
     <field name="Illegal Opcode Exception Enable" start="77" end="77" type="bool"/>
     <field name="Mask Stack Exception Enable" start="75" end="75" type="bool"/>
     <field name="Software  Exception Enable" start="71" end="71" type="bool"/>
-    <field name="Scratch Space Base Pointer" start="106" end="127" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="106" end="127" type="address"/>
     <field name="Per-Thread Scratch Space" start="96" end="99" type="uint"/>
     <field name="Output Vertex Size" start="151" end="156" type="uint"/>
     <field name="Output Topology" start="145" end="150" type="uint" prefix="OUTPUT"/>
@@ -1220,7 +1220,7 @@
     <field name="Statistics Enable" start="93" end="93" type="bool"/>
     <field name="Instance Count" start="64" end="67" type="uint"/>
     <field name="Kernel Start Pointer" start="102" end="127" type="offset"/>
-    <field name="Scratch Space Base Pointer" start="138" end="159" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="138" end="159" type="address"/>
     <field name="Per-Thread Scratch Space" start="128" end="131" type="uint"/>
     <field name="Single Program Flow" start="187" end="187" type="uint"/>
     <field name="Vector Mask Enable" start="186" end="186" type="bool"/>
@@ -1354,7 +1354,7 @@
     <field name="Illegal Opcode Exception Enable" start="77" end="77" type="bool"/>
     <field name="Mask Stack Exception Enable" start="75" end="75" type="bool"/>
     <field name="Software  Exception Enable" start="71" end="71" type="bool"/>
-    <field name="Scratch Space Base Pointer" start="106" end="127" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="106" end="127" type="address"/>
     <field name="Per Thread Scratch Space" start="96" end="99" type="uint"/>
     <field name="Maximum Number of Threads" start="152" end="159" type="uint"/>
     <field name="Push Constant Enable" start="139" end="139" type="bool"/>
@@ -1858,7 +1858,7 @@
     </field>
     <field name="Illegal Opcode Exception Enable" start="77" end="77" type="bool"/>
     <field name="Software  Exception Enable" start="71" end="71" type="bool"/>
-    <field name="Scratch Space Base Offset" start="106" end="127" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="106" end="127" type="address"/>
     <field name="Per-Thread Scratch Space" start="96" end="99" type="uint"/>
     <field name="Dispatch GRF Start Register for URB Data" start="148" end="152" type="uint"/>
     <field name="Vertex URB Entry Read Length" start="139" end="144" type="uint"/>
@@ -2109,7 +2109,7 @@
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
     <field name="SubOpcode" start="16" end="23" type="uint" default="0"/>
     <field name="DWord Length" start="0" end="15" type="uint" default="6"/>
-    <field name="Scratch Space Base Pointer" start="42" end="63" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="42" end="63" type="address"/>
     <field name="Per Thread Scratch Space" start="32" end="35" type="uint"/>
     <field name="Maximum Number of Threads" start="80" end="95" type="uint"/>
     <field name="Number of URB Entries" start="72" end="79" type="uint"/>
diff --git a/src/intel/genxml/gen75.xml b/src/intel/genxml/gen75.xml
index ac1b6e4..1ff5cac 100644
--- a/src/intel/genxml/gen75.xml
+++ b/src/intel/genxml/gen75.xml
@@ -1231,7 +1231,7 @@
     <field name="Accesses UAV" start="78" end="78" type="bool"/>
     <field name="Illegal Opcode Exception Enable" start="77" end="77" type="bool"/>
     <field name="Software Exception Enable" start="71" end="71" type="bool"/>
-    <field name="Scratch Space Base Pointer" start="106" end="127" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="106" end="127" type="address"/>
     <field name="Per-Thread Scratch Space" start="96" end="99" type="uint"/>
     <field name="Dispatch GRF Start Register For URB Data" start="148" end="152" type="uint"/>
     <field name="Patch URB Entry Read Length" start="139" end="145" type="uint"/>
@@ -1362,7 +1362,7 @@
     <field name="GS accesses UAV" start="76" end="76" type="uint"/>
     <field name="Mask Stack Exception Enable" start="75" end="75" type="bool"/>
     <field name="Software  Exception Enable" start="71" end="71" type="bool"/>
-    <field name="Scratch Space Base Pointer" start="106" end="127" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="106" end="127" type="address"/>
     <field name="Per-Thread Scratch Space" start="96" end="99" type="uint"/>
     <field name="Output Vertex Size" start="151" end="156" type="uint"/>
     <field name="Output Topology" start="145" end="150" type="uint" prefix="OUTPUT"/>
@@ -1435,7 +1435,7 @@
     <field name="Statistics Enable" start="93" end="93" type="bool"/>
     <field name="Instance Count" start="64" end="67" type="uint"/>
     <field name="Kernel Start Pointer" start="102" end="127" type="offset"/>
-    <field name="Scratch Space Base Pointer" start="138" end="159" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="138" end="159" type="address"/>
     <field name="Per-Thread Scratch Space" start="128" end="131" type="uint"/>
     <field name="Single Program Flow" start="187" end="187" type="uint"/>
     <field name="Vector Mask Enable" start="186" end="186" type="bool"/>
@@ -1573,7 +1573,7 @@
     <field name="Illegal Opcode Exception Enable" start="77" end="77" type="bool"/>
     <field name="Mask Stack Exception Enable" start="75" end="75" type="bool"/>
     <field name="Software  Exception Enable" start="71" end="71" type="bool"/>
-    <field name="Scratch Space Base Pointer" start="106" end="127" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="106" end="127" type="address"/>
     <field name="Per Thread Scratch Space" start="96" end="99" type="uint"/>
     <field name="Maximum Number of Threads" start="151" end="159" type="uint"/>
     <field name="Sample Mask" start="140" end="147" type="uint"/>
@@ -2121,7 +2121,7 @@
     <field name="Illegal Opcode Exception Enable" start="77" end="77" type="bool"/>
     <field name="VS accesses UAV" start="76" end="76" type="bool"/>
     <field name="Software  Exception Enable" start="71" end="71" type="bool"/>
-    <field name="Scratch Space Base Offset" start="106" end="127" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="106" end="127" type="address"/>
     <field name="Per-Thread Scratch Space" start="96" end="99" type="uint"/>
     <field name="Dispatch GRF Start Register for URB Data" start="148" end="152" type="uint"/>
     <field name="Vertex URB Entry Read Length" start="139" end="144" type="uint"/>
@@ -2396,7 +2396,7 @@
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
     <field name="SubOpcode" start="16" end="23" type="uint" default="0"/>
     <field name="DWord Length" start="0" end="15" type="uint" default="6"/>
-    <field name="Scratch Space Base Pointer" start="42" end="63" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="42" end="63" type="address"/>
     <field name="Stack Size" start="36" end="39" type="uint"/>
     <field name="Per Thread Scratch Space" start="32" end="35" type="uint"/>
     <field name="Maximum Number of Threads" start="80" end="95" type="uint"/>
diff --git a/src/intel/genxml/gen8.xml b/src/intel/genxml/gen8.xml
index 1d6a43f..028f8b4 100644
--- a/src/intel/genxml/gen8.xml
+++ b/src/intel/genxml/gen8.xml
@@ -1265,7 +1265,7 @@
     <field name="Accesses UAV" start="110" end="110" type="bool"/>
     <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool"/>
     <field name="Software Exception Enable" start="103" end="103" type="bool"/>
-    <field name="Scratch Space Base Pointer" start="138" end="191" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="138" end="191" type="address"/>
     <field name="Per-Thread Scratch Space" start="128" end="131" type="uint"/>
     <field name="Dispatch GRF Start Register For URB Data" start="212" end="216" type="uint"/>
     <field name="Patch URB Entry Read Length" start="203" end="209" type="uint"/>
@@ -1405,7 +1405,7 @@
     <field name="Mask Stack Exception Enable" start="107" end="107" type="bool"/>
     <field name="Software  Exception Enable" start="103" end="103" type="bool"/>
     <field name="Expected Vertex Count" start="96" end="101" type="uint"/>
-    <field name="Scratch Space Base Pointer" start="138" end="191" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="138" end="191" type="address"/>
     <field name="Per-Thread Scratch Space" start="128" end="131" type="uint"/>
     <field name="Output Vertex Size" start="215" end="220" type="uint"/>
     <field name="Output Topology" start="209" end="214" type="uint" prefix="OUTPUT"/>
@@ -1484,7 +1484,7 @@
     <field name="Maximum Number of Threads" start="72" end="80" type="uint"/>
     <field name="Instance Count" start="64" end="67" type="uint"/>
     <field name="Kernel Start Pointer" start="102" end="159" type="offset"/>
-    <field name="Scratch Space Base Pointer" start="170" end="223" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="170" end="223" type="address"/>
     <field name="Per-Thread Scratch Space" start="160" end="163" type="uint"/>
     <field name="Single Program Flow" start="251" end="251" type="bool"/>
     <field name="Vector Mask Enable" start="250" end="250" type="bool"/>
@@ -1607,7 +1607,7 @@
     <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool"/>
     <field name="Mask Stack Exception Enable" start="107" end="107" type="bool"/>
     <field name="Software  Exception Enable" start="103" end="103" type="bool"/>
-    <field name="Scratch Space Base Pointer" start="138" end="191" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="138" end="191" type="address"/>
     <field name="Per Thread Scratch Space" start="128" end="131" type="uint"/>
     <field name="Maximum Number of Threads Per PSD" start="215" end="223" type="uint"/>
     <field name="Push Constant Enable" start="203" end="203" type="bool"/>
@@ -2265,7 +2265,7 @@
     <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool"/>
     <field name="Accesses UAV" start="108" end="108" type="bool"/>
     <field name="Software Exception Enable" start="103" end="103" type="bool"/>
-    <field name="Scratch Space Base Pointer" start="138" end="191" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="138" end="191" type="address"/>
     <field name="Per-Thread Scratch Space " start="128" end="131" type="uint"/>
     <field name="Dispatch GRF Start Register For URB Data" start="212" end="216" type="uint"/>
     <field name="Vertex URB Entry Read Length" start="203" end="208" type="uint"/>
@@ -2601,10 +2601,9 @@
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
     <field name="SubOpcode" start="16" end="23" type="uint" default="0"/>
     <field name="DWord Length" start="0" end="15" type="uint" default="7"/>
-    <field name="Scratch Space Base Pointer" start="42" end="63" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="42" end="79" type="address"/>
     <field name="Stack Size" start="36" end="39" type="uint"/>
     <field name="Per Thread Scratch Space" start="32" end="35" type="uint"/>
-    <field name="Scratch Space Base Pointer High" start="64" end="79" type="offset"/>
     <field name="Maximum Number of Threads" start="112" end="127" type="uint"/>
     <field name="Number of URB Entries" start="104" end="111" type="uint"/>
     <field name="Reset Gateway Timer" start="103" end="103" type="uint">
diff --git a/src/intel/genxml/gen9.xml b/src/intel/genxml/gen9.xml
index 2c01c56..ace6ef3 100644
--- a/src/intel/genxml/gen9.xml
+++ b/src/intel/genxml/gen9.xml
@@ -1320,7 +1320,7 @@
     <field name="Accesses UAV" start="110" end="110" type="bool"/>
     <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool"/>
     <field name="Software Exception Enable" start="103" end="103" type="bool"/>
-    <field name="Scratch Space Base Pointer" start="138" end="191" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="138" end="191" type="address"/>
     <field name="Per-Thread Scratch Space" start="128" end="131" type="uint"/>
     <field name="Dispatch GRF Start Register For URB Data" start="212" end="216" type="uint"/>
     <field name="Patch URB Entry Read Length" start="203" end="209" type="uint"/>
@@ -1507,7 +1507,7 @@
     <field name="Mask Stack Exception Enable" start="107" end="107" type="bool"/>
     <field name="Software  Exception Enable" start="103" end="103" type="bool"/>
     <field name="Expected Vertex Count" start="96" end="101" type="uint"/>
-    <field name="Scratch Space Base Pointer" start="138" end="191" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="138" end="191" type="address"/>
     <field name="Per-Thread Scratch Space" start="128" end="131" type="uint"/>
     <field name="Dispatch GRF Start Register For URB Data [5:4]" start="221" end="222" type="uint"/>
     <field name="Output Vertex Size" start="215" end="220" type="uint"/>
@@ -1587,7 +1587,7 @@
     <field name="Maximum Number of Threads" start="72" end="80" type="uint"/>
     <field name="Instance Count" start="64" end="67" type="uint"/>
     <field name="Kernel Start Pointer" start="102" end="159" type="offset"/>
-    <field name="Scratch Space Base Pointer" start="170" end="223" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="170" end="223" type="address"/>
     <field name="Per-Thread Scratch Space" start="160" end="163" type="uint"/>
     <field name="Dispatch GRF Start Register For URB Data [5]" start="252" end="252" type="uint"/>
     <field name="Single Program Flow" start="251" end="251" type="bool"/>
@@ -1717,7 +1717,7 @@
     <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool"/>
     <field name="Mask Stack Exception Enable" start="107" end="107" type="bool"/>
     <field name="Software  Exception Enable" start="103" end="103" type="bool"/>
-    <field name="Scratch Space Base Pointer" start="138" end="191" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="138" end="191" type="address"/>
     <field name="Per Thread Scratch Space" start="128" end="131" type="uint"/>
     <field name="Maximum Number of Threads Per PSD" start="215" end="223" type="uint"/>
     <field name="Push Constant Enable" start="203" end="203" type="bool"/>
@@ -2519,7 +2519,7 @@
     <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool"/>
     <field name="Accesses UAV" start="108" end="108" type="bool"/>
     <field name="Software Exception Enable" start="103" end="103" type="bool"/>
-    <field name="Scratch Space Base Pointer" start="138" end="191" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="138" end="191" type="address"/>
     <field name="Per-Thread Scratch Space " start="128" end="131" type="uint"/>
     <field name="Dispatch GRF Start Register For URB Data" start="212" end="216" type="uint"/>
     <field name="Vertex URB Entry Read Length" start="203" end="208" type="uint"/>
@@ -2868,10 +2868,9 @@
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
     <field name="SubOpcode" start="16" end="23" type="uint" default="0"/>
     <field name="DWord Length" start="0" end="15" type="uint" default="7"/>
-    <field name="Scratch Space Base Pointer" start="42" end="63" type="offset"/>
+    <field name="Scratch Space Base Pointer" start="42" end="79" type="address"/>
     <field name="Stack Size" start="36" end="39" type="uint"/>
     <field name="Per Thread Scratch Space" start="32" end="35" type="uint"/>
-    <field name="Scratch Space Base Pointer High" start="64" end="79" type="offset"/>
     <field name="Maximum Number of Threads" start="112" end="127" type="uint"/>
     <field name="Number of URB Entries" start="104" end="111" type="uint"/>
     <field name="Reset Gateway Timer" start="103" end="103" type="uint">
diff --git a/src/intel/vulkan/gen7_pipeline.c b/src/intel/vulkan/gen7_pipeline.c
index dd34d71..56e59a4 100644
--- a/src/intel/vulkan/gen7_pipeline.c
+++ b/src/intel/vulkan/gen7_pipeline.c
@@ -250,7 +250,11 @@ genX(graphics_pipeline_create)(
    else
       anv_batch_emit(&pipeline->batch, GENX(3DSTATE_VS), vs) {
          vs.KernelStartPointer         = pipeline->vs_vec4;
-         vs.ScratchSpaceBaseOffset     = pipeline->scratch_start[MESA_SHADER_VERTEX];
+
+         vs.ScratchSpaceBasePointer = (struct anv_address) {
+            .bo = NULL,
+            .offset = pipeline->scratch_start[MESA_SHADER_VERTEX],
+         };
          vs.PerThreadScratchSpace      = scratch_space(&vs_prog_data->base.base);
 
          vs.DispatchGRFStartRegisterforURBData    =
@@ -270,7 +274,11 @@ genX(graphics_pipeline_create)(
    } else {
       anv_batch_emit(&pipeline->batch, GENX(3DSTATE_GS), gs) {
          gs.KernelStartPointer         = pipeline->gs_kernel;
-         gs.ScratchSpaceBasePointer    = pipeline->scratch_start[MESA_SHADER_GEOMETRY];
+
+         gs.ScratchSpaceBasePointer = (struct anv_address) {
+            .bo = NULL,
+            .offset = pipeline->scratch_start[MESA_SHADER_GEOMETRY],
+         };
          gs.PerThreadScratchSpace      = scratch_space(&gs_prog_data->base.base);
 
          gs.OutputVertexSize           = gs_prog_data->output_vertex_size_hwords * 2 - 1;
@@ -328,7 +336,11 @@ genX(graphics_pipeline_create)(
 
       anv_batch_emit(&pipeline->batch, GENX(3DSTATE_PS), ps) {
          ps.KernelStartPointer0           = pipeline->ps_ksp0;
-         ps.ScratchSpaceBasePointer       = pipeline->scratch_start[MESA_SHADER_FRAGMENT];
+
+         ps.ScratchSpaceBasePointer = (struct anv_address) {
+            .bo = NULL,
+            .offset = pipeline->scratch_start[MESA_SHADER_FRAGMENT],
+         };
          ps.PerThreadScratchSpace         = scratch_space(&wm_prog_data->base);
          ps.MaximumNumberofThreads        = device->info.max_wm_threads - 1;
          ps.PushConstantEnable            = wm_prog_data->base.nr_params > 0;
diff --git a/src/intel/vulkan/gen8_pipeline.c b/src/intel/vulkan/gen8_pipeline.c
index 2a96be0..53fca2b 100644
--- a/src/intel/vulkan/gen8_pipeline.c
+++ b/src/intel/vulkan/gen8_pipeline.c
@@ -360,7 +360,10 @@ genX(graphics_pipeline_create)(
          gs.BindingTableEntryCount  = 0;
          gs.ExpectedVertexCount     = gs_prog_data->vertices_in;
 
-         gs.ScratchSpaceBasePointer = pipeline->scratch_start[MESA_SHADER_GEOMETRY];
+         gs.ScratchSpaceBasePointer = (struct anv_address) {
+            .bo = NULL,
+            .offset = pipeline->scratch_start[MESA_SHADER_GEOMETRY],
+         };
          gs.PerThreadScratchSpace   = scratch_space(&gs_prog_data->base.base);
          gs.OutputVertexSize        = gs_prog_data->output_vertex_size_hwords * 2 - 1;
          gs.OutputTopology          = gs_prog_data->output_topology;
@@ -427,7 +430,10 @@ genX(graphics_pipeline_create)(
          vs.AccessesUAV                   = false;
          vs.SoftwareExceptionEnable       = false;
 
-         vs.ScratchSpaceBasePointer = pipeline->scratch_start[MESA_SHADER_VERTEX],
+         vs.ScratchSpaceBasePointer = (struct anv_address) {
+            .bo = NULL,
+            .offset = pipeline->scratch_start[MESA_SHADER_VERTEX],
+         };
          vs.PerThreadScratchSpace   = scratch_space(&vs_prog_data->base.base);
 
          vs.DispatchGRFStartRegisterForURBData =
@@ -476,7 +482,10 @@ genX(graphics_pipeline_create)(
 
          ps.MaximumNumberofThreadsPerPSD = 64 - num_thread_bias;
 
-         ps.ScratchSpaceBasePointer = pipeline->scratch_start[MESA_SHADER_FRAGMENT];
+         ps.ScratchSpaceBasePointer = (struct anv_address) {
+            .bo = NULL,
+            .offset = pipeline->scratch_start[MESA_SHADER_FRAGMENT],
+         };
          ps.PerThreadScratchSpace   = scratch_space(&wm_prog_data->base);
 
          ps.DispatchGRFStartRegisterForConstantSetupData0 =
diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c
index 458e80c..7360448 100644
--- a/src/intel/vulkan/genX_pipeline.c
+++ b/src/intel/vulkan/genX_pipeline.c
@@ -102,10 +102,12 @@ genX(compute_pipeline_create)(
             cs_prog_data->push.cross_thread.regs, 2);
 
    anv_batch_emit(&pipeline->batch, GENX(MEDIA_VFE_STATE), vfe) {
-      vfe.ScratchSpaceBasePointer = pipeline->scratch_start[MESA_SHADER_COMPUTE];
+      vfe.ScratchSpaceBasePointer = (struct anv_address) {
+         .bo = NULL,
+         .offset = pipeline->scratch_start[MESA_SHADER_COMPUTE],
+      };
       vfe.PerThreadScratchSpace  = ffs(cs_prog_data->base.total_scratch / 2048);
 #if GEN_GEN > 7
-      vfe.ScratchSpaceBasePointerHigh = 0;
       vfe.StackSize              = 0;
 #else
       vfe.GPGPUMode              = true;
-- 
2.5.0.400.gff86faf



More information about the mesa-stable mailing list