<br><br><div class="gmail_quote">On Wed, Aug 22, 2012 at 6:09 PM, Rob Clark <span dir="ltr"><<a href="mailto:rob.clark@linaro.org" target="_blank">rob.clark@linaro.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
From: Rob Clark <<a href="mailto:rob@ti.com">rob@ti.com</a>><br>
<br>
Re-work how the shaders and emitted vertices work.  Rather than always<br>
rendering clip-rect sized quads and doing transformation in tex coords<br>
(and requiring the corresponding clipping in frag shader), instead<br>
emit transformed vertices, clipped wrt. dirty region, and use simpler<br>
frag shaders.  Also, split the rendering, so blended surfaces with an<br>
opaque region have the opaque region drawn with blend disabled.  The<br>
result is considerably fewer pixels drawn with blend enabled, and much<br>
fewer cycles in the frag shader.<br>
<br>
This requires having some more complex logic to figure out the vertices<br>
of the shape which forms the intersection of the clip rect and the<br>
transformed surface.  Which has perhaps got a few bugs or missing cases,<br>
still (visual glitches in some cases) but at this point more or less is<br>
starting to work.  I think it is at least far enough along to get some<br>
initial review.<br>
<br>
The result, on small SoC GPU (omap4/pandaboard) on 1920x1080 display,<br>
for simple stuff like moving windows around, I get 60fps (before 30fps<br>
or less), and pushing YUV buffers for hw decoded 1080p video goes from<br>
~6fps to 30fps, with no drop in framerate for transformed/rotated video<br>
surface.<br></blockquote></div><br><br>Hi Rob,<br><br>It appears you have gained considerable performance with these optimizations. I'm wondering though, does this make the assumption surfaces are always rectangular with no advanced geometry? For instance, would you still be able to do advanced effects such as wobbly surfaces or an explode animation? Perhaps the draw routines could be made so that custom data could be structured. Just a thought.<br>
<br><br>Scott<br>