<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Oct 26, 2017 at 11:14 PM, Jordan Justen <span dir="ltr"><<a href="mailto:jordan.l.justen@intel.com" target="_blank">jordan.l.justen@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Signed-off-by: Jordan Justen <<a href="mailto:jordan.l.justen@intel.com">jordan.l.justen@intel.com</a>><br>
Reviewed-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br>
Cc: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br>
Cc: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>><br>
---<br>
<br>
 * Add comment (Ken)<br>
 * No typedef (Jason)<br>
<br>
 src/intel/compiler/brw_<wbr>compiler.h | 20 ++++++++++++++++++++<br>
 1 file changed, 20 insertions(+)<br>
<br>
diff --git a/src/intel/compiler/brw_<wbr>compiler.h b/src/intel/compiler/brw_<wbr>compiler.h<br>
index 701b4a80bf1..6ad89171ce4 100644<br>
--- a/src/intel/compiler/brw_<wbr>compiler.h<br>
+++ b/src/intel/compiler/brw_<wbr>compiler.h<br>
@@ -403,6 +403,16 @@ struct brw_cs_prog_key {<br>
    struct brw_sampler_prog_key_data tex;<br>
 };<br>
<br>
+/* brw_any_prog_key is any of the keys that map to an API stage */<br>
+union brw_any_prog_key {<br>
<span class="">+   struct brw_vs_prog_key vs;<br>
+   struct brw_tcs_prog_key tcs;<br>
+   struct brw_tes_prog_key tes;<br>
+   struct brw_gs_prog_key gs;<br>
+   struct brw_wm_prog_key wm;<br>
+   struct brw_cs_prog_key cs;<br>
</span>+};<br>
<span class="">+<br>
 /*<br>
  * Image metadata structure as laid out in the shader parameter<br>
  * buffer.  Entries have to be 16B-aligned for the vec4 back-end to be<br>
</span>@@ -1066,6 +1076,16 @@ struct brw_clip_prog_data {<br>
    uint32_t total_grf;<br>
 };<br>
<br>
+/* brw_any_prog_data is prog_data for any stage that maps to an API stage */<br>
+union brw_any_prog_data {<br></blockquote><div><br></div><div>For my usage, it'd be nice if you also throw stage_prog_data in here.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="">+   struct brw_vs_prog_data vs;<br>
+   struct brw_tcs_prog_data tcs;<br>
+   struct brw_tes_prog_data tes;<br>
+   struct brw_gs_prog_data gs;<br>
+   struct brw_wm_prog_data wm;<br>
+   struct brw_cs_prog_data cs;<br>
</span>+};<br>
<span class="">+<br>
 #define DEFINE_PROG_DATA_DOWNCAST(<wbr>stage)                       \<br>
 static inline struct brw_##stage##_prog_data *                 \<br>
 brw_##stage##_prog_data(struct brw_stage_prog_data *prog_data) \<br>
--<br>
</span>2.15.0.rc2<br>
<br>
</blockquote></div><br></div></div>