On Wed, May 1, 2013 at 2:10 PM, Anuj Phogat <anuj.pho...@gmail.com> wrote:
> In traditional multisampled framebuffer rendering, color samples must be
> explicitly
> resolved via BlitFramebuffer before doing the scaled blitting of the
> framebuffer.
> So, scaled blitting of a multisample framebuffer takes two separate calls to
> BlitFramebuffer.
>
> This patch implements the functionality of doing multisampled scaled resolve
> using
> just one BlitFramebuffer call. Important changes involved in this patch are
> listed
> below:
> 1. Add fractional scale/offset capability.
> 2. Modify blorp setup code to handle scaled blits properly.
> - Do register allocation for UD and float registers.
> - Use float registers to do scale / offset texture coordinates.
> - Change offset computation to consider float coordinates.
> - Round the scaled & offset coordinates down to integer.
> - Make relevant changes to ensure correct blitting of stencil / depth
> buffers.
> 3. Linear filter is not yet implemented in blorp. So, don't use blorp engine
> to do
> single sampled scaled blitting.
> 4. if INTEL_DEBUG=blorp is set, recompile the blorp shader to dump the native
> code
> for blorp blit. This will not effect performance but assist in debugging.
>
> Note: Observed no piglit regressions on sandybridge & ivybridge with these
> changes.
>
I have identified problems with clipping of source / destination
coordinates. I am not
considering scale factor while clipping the coordinates in this patch.
I'm working on
fixing it along with other updates.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev