mesa: add gl_driver_flags::NewScissor{Rect,Test}
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 6 Jun 2017 13:03:50 +0000 (15:03 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 9 Jun 2017 07:33:22 +0000 (09:33 +0200)
_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.pitoiset@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/main/mtypes.h

index ab6246308109337db1d18f3ee7de9047222b246c..21ddf57f11baae5184ee7d7cafa694f0b13fbe3f 100644 (file)
@@ -4406,6 +4406,12 @@ struct gl_driver_flags
 
    /** gl_context::Color::sRGBEnabled */
    uint64_t NewFramebufferSRGB;
+
+   /** gl_context::Scissor::EnableFlags */
+   uint64_t NewScissorTest;
+
+   /** gl_context::Scissor::ScissorArray */
+   uint64_t NewScissorRect;
 };
 
 struct gl_uniform_buffer_binding