On 16 December 2011 19:50, Kenneth Graunke <span dir="ltr">&lt;<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 12/13/2011 03:35 PM, Paul Berry wrote:<br>
</div>[snip]<br>
<div><div class="h5">&gt; +static void<br>
&gt; +brw_update_sol_surface(struct brw_context *brw, drm_intel_bo *bo,<br>
&gt; +                       uint32_t *out_offset, unsigned num_vector_components,<br>
&gt; +                       unsigned stride_dwords, unsigned offset_dwords,<br>
&gt; +                       uint32_t buffer_size_minus_1)<br>
&gt; +{<br>
&gt; +   uint32_t *surf = brw_state_batch(brw, AUB_TRACE_SURFACE_STATE, 6 * 4, 32,<br>
&gt; +                                    out_offset);<br>
&gt; +   uint32_t width = buffer_size_minus_1 &amp; 0x7f;<br>
&gt; +   uint32_t height = (buffer_size_minus_1 &amp; 0xfff80) &gt;&gt; 7;<br>
&gt; +   uint32_t depth = (buffer_size_minus_1 &amp; 0x7f00000) &gt;&gt; 20;<br>
&gt; +   uint32_t pitch_minus_1 = 4*stride_dwords - 1;<br>
&gt; +   uint32_t surface_format;<br>
&gt; +   uint32_t offset_bytes = 4 * offset_dwords;<br>
&gt; +   switch (num_vector_components) {<br>
&gt; +   case 1:<br>
&gt; +      surface_format = BRW_SURFACEFORMAT_R32_FLOAT;<br>
&gt; +      break;<br>
&gt; +   case 2:<br>
&gt; +      surface_format = BRW_SURFACEFORMAT_R32G32_FLOAT;<br>
&gt; +      break;<br>
&gt; +   case 3:<br>
&gt; +      surface_format = BRW_SURFACEFORMAT_R32G32B32_FLOAT;<br>
&gt; +      break;<br>
&gt; +   case 4:<br>
&gt; +      surface_format = BRW_SURFACEFORMAT_R32G32B32A32_FLOAT;<br>
&gt; +      break;<br>
&gt; +   default:<br>
&gt; +      assert (!&quot;Invalid vector size for transform feedback output&quot;);<br>
&gt; +      surface_format = BRW_SURFACEFORMAT_R32_FLOAT;<br>
&gt; +      break;<br>
&gt; +   }<br>
<br>
</div></div>Is it possible to have integer transform feedback outputs?  If so, we&#39;d<br>
need to adjust this.  But we can do that later (if at all).<br></blockquote><div><br>Yes, integer transform feedback outputs are possible, but I believe that it won&#39;t be necessary to adjust this because the data port doesn&#39;t do any format conversions on &quot;streamed vertex buffer write&quot; messages.  But I&#39;ll make sure we have the necessary piglit tests to verify this, and if I&#39;m wrong I&#39;ll do a follow-up patch.<br>
 </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Looks good, Paul.<br>
<br>
Reviewed-by: Kenneth Graunke &lt;<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>&gt;<br>
</blockquote></div><br>