On 06/09/2017 12:00 AM, Ian Romanick wrote:
Is there any particular application that these series should help?  Was
a performance improvement measured?

This series doesn't target any particular applications. It can help apps that update scissor boxes often because pipe_rasterizer is no longer updated in this situation.

The main idea behind this is actually to reduce the number of st/mesa changes and to not rely on the _NEW_xxx mesa flags in the state tracker.


On 06/06/2017 12:59 PM, Samuel Pitoiset wrote:
_NEW_SCISSOR mesa flag is set when a scissor test is enabled/disabled
or when a new rectangle is defined. However, it triggers too much
changes in the state tracker.

Actually, ST_NEW_RASTERIZER should only be called when a scissor
test is enabled/disabled, while ST_NEW_SCISSOR should be called
in both situations.

In other words, this will avoid to update the rasterizer every
time a new rectangle is defined using glScissor*().

Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
---
  src/mesa/main/mtypes.h | 6 ++++++
  1 file changed, 6 insertions(+)

diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 7ec012321f..5d327d0dc7 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -4402,6 +4402,12 @@ struct gl_driver_flags
      * gl_context::Scissor::WindowRects
      */
     uint64_t NewWindowRectangles;
+
+   /** gl_context::Scissor::EnableFlags */
+   uint64_t NewScissorTest;
+
+   /** gl_context::Scissor::ScissorArray */
+   uint64_t NewScissorRect;
  };
struct gl_uniform_buffer_binding


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

Reply via email to