On 06/13/2016 08:50 AM, Ilia Mirkin wrote:
On Mon, Jun 13, 2016 at 10:45 AM, Brian Paul <bri...@vmware.com> wrote:
On 06/12/2016 12:36 AM, Ilia Mirkin wrote:

Window rectangles apply to all framebuffer operations, either in
inclusive or exclusive mode. They may also be specified as part of a
blit operation.

In exclusive mode, any fragment inside any of the specified rectangles
will be discarded.

In inclusive mode, any fragment outside every rectangle will be
discarded.

The no-op state is to have 0 rectangles in exclusive mode.

Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu>
---
   src/gallium/docs/source/context.rst  | 15 ++++++++++++---
   src/gallium/include/pipe/p_context.h |  5 +++++
   src/gallium/include/pipe/p_state.h   |  6 ++++++
   3 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/src/gallium/docs/source/context.rst
b/src/gallium/docs/source/context.rst
index 3a45f40..667d9a2 100644
--- a/src/gallium/docs/source/context.rst
+++ b/src/gallium/docs/source/context.rst
@@ -79,6 +79,15 @@ objects. They all follow simple, one-method binding
calls, e.g.
     should be the same as the number of set viewports and can be up to
     PIPE_MAX_VIEWPORTS.
   * ``set_viewport_states``
+* ``set_window_rectangle_states`` sets the window rectangles to be
+  used for rendering, as defined by GL_EXT_window_rectangles. There


What about clearing?

As-is, our pipe_context::clear() function doesn't support scissors or color
channel masking.  Is it now supposed to support window rects? That could put
a new burden on drivers.  Some drivers might have to fallback to drawing a
list of rects.  The 'exclusive' mode seems tricky.  That's the kind of thing
the state tracker has done for us so far.  Or maybe we need a new util
helper for converting window rect clears into quad drawing.

Similar question for clear_render_target() and clear_depth_stencil().

Nope. Clears ignore the window rects, like they ignore scissors and
everything else. The state tracker falls back to the clear_with_quads
path if any window rectangles are set.

OK, can you say that in the documentation here?

-Brian

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

Reply via email to