<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Mar 16, 2017 at 3:24 AM, Lionel Landwerlin <span dir="ltr"><<a href="mailto:lionel.g.landwerlin@intel.com" target="_blank">lionel.g.landwerlin@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I might be wrong, but are you sure it's a good idea?<br>
<br>
The documentation says that dword0 is the lower 32bits of a qword and dword1 the upper bits.<br>
With this change we now make it look like it's a regular 64 bits number but it actually isn't.<br></blockquote><div><br></div><div>I'm not sure what you mean.  If you're doing a 64-bit store, the packing structs will put the lower 32 bits in dword0 and the upper 32 bits in dword1 just like you want.  There are a number of other hardware packets that split a 64-bit value into two 32-bit values for no good reason other than that the bspec likes to talk about dwords.  A bunch of those have gotten similar treatment over time.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
<br>
On 16/03/17 00:03, Jason Ekstrand wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This is way more convenient than having two separate dword fields.<br>
---<br>
  src/intel/genxml/gen6.xml     | 3 +--<br>
  src/intel/genxml/gen7.xml     | 3 +--<br>
  src/intel/genxml/gen75.xml    | 3 +--<br>
  src/intel/genxml/gen8.xml     | 3 +--<br>
  src/intel/genxml/gen9.xml     | 3 +--<br>
  src/intel/vulkan/genX_query.c | 3 +--<br>
  6 files changed, 6 insertions(+), 12 deletions(-)<br>
<br>
diff --git a/src/intel/genxml/gen6.xml b/src/intel/genxml/gen6.xml<br>
index 6a9b090..8a7eee0 100644<br>
--- a/src/intel/genxml/gen6.xml<br>
+++ b/src/intel/genxml/gen6.xml<br>
@@ -1805,8 +1805,7 @@<br>
      <field name="DWord Length" start="0" end="5" type="uint" default="2"/><br>
      <field name="Address" start="66" end="95" type="address"/><br>
      <field name="Core Mode Enable" start="64" end="64" type="uint"/><br>
-    <field name="Data DWord 0" start="96" end="127" type="uint"/><br>
-    <field name="Data DWord 1" start="128" end="159" type="uint"/><br>
+    <field name="Immediate Data" start="96" end="159" type="uint"/><br>
    </instruction><br>
      <instruction name="MI_STORE_DATA_INDEX" bias="2" length="3"><br>
diff --git a/src/intel/genxml/gen7.xml b/src/intel/genxml/gen7.xml<br>
index 7368b5b..8219d64 100644<br>
--- a/src/intel/genxml/gen7.xml<br>
+++ b/src/intel/genxml/gen7.xml<br>
@@ -2316,8 +2316,7 @@<br>
      <field name="DWord Length" start="0" end="5" type="uint" default="2"/><br>
      <field name="Address" start="66" end="95" type="address"/><br>
      <field name="Core Mode Enable" start="64" end="64" type="uint"/><br>
-    <field name="Data DWord 0" start="96" end="127" type="uint"/><br>
-    <field name="Data DWord 1" start="128" end="159" type="uint"/><br>
+    <field name="Immediate Data" start="96" end="159" type="uint"/><br>
    </instruction><br>
      <instruction name="MI_STORE_DATA_INDEX" bias="2" length="3"><br>
diff --git a/src/intel/genxml/gen75.xml b/src/intel/genxml/gen75.xml<br>
index ed82236..8e65c59 100644<br>
--- a/src/intel/genxml/gen75.xml<br>
+++ b/src/intel/genxml/gen75.xml<br>
@@ -2709,8 +2709,7 @@<br>
      <field name="DWord Length" start="0" end="5" type="uint" default="2"/><br>
      <field name="Address" start="66" end="95" type="address"/><br>
      <field name="Core Mode Enable" start="64" end="64" type="uint"/><br>
-    <field name="Data DWord 0" start="96" end="127" type="uint"/><br>
-    <field name="Data DWord 1" start="128" end="159" type="uint"/><br>
+    <field name="Immediate Data" start="96" end="159" type="uint"/><br>
    </instruction><br>
      <instruction name="MI_STORE_DATA_INDEX" bias="2" length="3"><br>
diff --git a/src/intel/genxml/gen8.xml b/src/intel/genxml/gen8.xml<br>
index 32ed764..1628237 100644<br>
--- a/src/intel/genxml/gen8.xml<br>
+++ b/src/intel/genxml/gen8.xml<br>
@@ -2980,8 +2980,7 @@<br>
      <field name="DWord Length" start="0" end="9" type="uint" default="2"/><br>
      <field name="Address" start="34" end="79" type="address"/><br>
      <field name="Core Mode Enable" start="32" end="32" type="uint"/><br>
-    <field name="Data DWord 0" start="96" end="127" type="uint"/><br>
-    <field name="Data DWord 1" start="128" end="159" type="uint"/><br>
+    <field name="Immediate Data" start="96" end="159" type="uint"/><br>
    </instruction><br>
      <instruction name="MI_STORE_DATA_INDEX" bias="2" length="3"><br>
diff --git a/src/intel/genxml/gen9.xml b/src/intel/genxml/gen9.xml<br>
index ec29d13..6849669 100644<br>
--- a/src/intel/genxml/gen9.xml<br>
+++ b/src/intel/genxml/gen9.xml<br>
@@ -3255,8 +3255,7 @@<br>
      <field name="DWord Length" start="0" end="9" type="uint" default="2"/><br>
      <field name="Address" start="34" end="79" type="address"/><br>
      <field name="Core Mode Enable" start="32" end="32" type="uint"/><br>
-    <field name="Data DWord 0" start="96" end="127" type="uint"/><br>
-    <field name="Data DWord 1" start="128" end="159" type="uint"/><br>
+    <field name="Immediate Data" start="96" end="159" type="uint"/><br>
    </instruction><br>
      <instruction name="MI_STORE_DATA_INDEX" bias="2" length="3"><br>
diff --git a/src/intel/vulkan/genX_query.<wbr>c b/src/intel/vulkan/genX_query.<wbr>c<br>
index b5955d3..2429386 100644<br>
--- a/src/intel/vulkan/genX_query.<wbr>c<br>
+++ b/src/intel/vulkan/genX_query.<wbr>c<br>
@@ -243,8 +243,7 @@ void genX(CmdResetQueryPool)(<br>
                 .offset = (firstQuery + i) * sizeof(struct anv_query_pool_slot) +<br>
                           offsetof(struct anv_query_pool_slot, available),<br>
              };<br>
-            sdm.DataDWord0 = 0;<br>
-            sdm.DataDWord1 = 0;<br>
+            sdm.ImmediateData = 0;<br>
           }<br>
           break;<br>
        }<br>
</blockquote>
<br>
<br>
</div></div></blockquote></div><br></div></div>