On Tuesday, August 21, 2018 6:57:51 PM PDT Jason Ekstrand wrote:
> The Vulkan 1.1.81 spec says:
> 
>     "It is legal for offset.x + extent.width or offset.y + extent.height
>     to exceed the dimensions of the framebuffer - the scissor test still
>     applies as defined above. Rasterization does not produce fragments
>     outside of the framebuffer, so such fragments never have the scissor
>     test performed on them."
> 
> For the past two years, I've been misreading this as saying that having
> a too-large scissor is ILLEGAL which is clearly not what it says.  Since
> we set drawing rectangle once at context initialization time, we can't
> trust in that to catch us and we need to fix up the scissor.
> Fortunately, the user is required to provide us with at least one
> scissor so we don't need to handle the case where they don't.
> 
> Fixes: fb2a5ceb3264 "anv: Emit DRAWING_RECTANGLE once at driver..."
> ---
>  src/intel/vulkan/gen7_cmd_buffer.c | 5 +++--
>  src/intel/vulkan/genX_cmd_buffer.c | 3 ++-
>  2 files changed, 5 insertions(+), 3 deletions(-)
> 

This patch is:
Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>

I'd normally think to include this in the viewport extents test, because
we need the framebuffer size for the guardband viewport anyway.  But,
scissoring is necessary on Gen7, and we're always scissoring anyway, so
it probably doesn't matter that much.

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to