[Mesa-dev] [PATCH 1/3] mesa: add gl_driver_flags::NewScissor{Rect, Test}
Samuel Pitoiset
samuel.pitoiset at gmail.com
Fri Jun 9 07:32:28 UTC 2017
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.pitoiset at 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
>>
>
More information about the mesa-dev
mailing list