Module: Mesa Branch: master Commit: 674d275f590d05f1f14dbe40a6c77b6203206ac5 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=674d275f590d05f1f14dbe40a6c77b6203206ac5
Author: Marek Olšák <marek.ol...@amd.com> Date: Sat Dec 19 01:37:40 2020 -0500 mesa: for every state change, remember states we changed for glPopAttrib The idea is to restore only those states in glPopAttrib that have been changed. This will reduce glPopAttrib overhead a lot. This is based on the state tables in the OpenGL 4.6 Compatibility Profile specification and many extension specifications. This code might superfluously flag GL_TEXTURE_BIT for texture and sampler functions that don't have effect on states popped by glPopAttrib, but I don't wanna test my luck and make a mistake. Thus, if _NEW_TEXTURE_OBJECT if flagged, GL_TEXTURE_BIT is usually flagged too. This has no effect on glPopAttrib yet. glPopAttrib will use this in a later commit. This only adds attrib masks into FLUSH_VERTICES based on specs. Reviewed-by: Zoltán Böszörményi <zbos...@gmail.com> Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-pra...@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8181> --- src/mesa/drivers/common/meta.c | 12 +- src/mesa/drivers/dri/i965/intel_screen.c | 2 +- src/mesa/main/accum.c | 3 +- src/mesa/main/arbprogram.c | 8 +- src/mesa/main/atifragshader.c | 8 +- src/mesa/main/attrib.c | 4 +- src/mesa/main/blend.c | 28 +++-- src/mesa/main/blend.h | 6 +- src/mesa/main/blit.c | 2 +- src/mesa/main/bufferobj.c | 16 +-- src/mesa/main/buffers.c | 8 +- src/mesa/main/clear.c | 14 ++- src/mesa/main/clip.c | 2 +- src/mesa/main/compute.c | 6 +- src/mesa/main/condrender.c | 2 +- src/mesa/main/conservativeraster.c | 4 +- src/mesa/main/context.c | 6 +- src/mesa/main/context.h | 3 +- src/mesa/main/depth.c | 10 +- src/mesa/main/dlist.c | 10 +- src/mesa/main/drawpix.c | 7 +- src/mesa/main/enable.c | 189 ++++++++++++++++++------------- src/mesa/main/eval.c | 8 +- src/mesa/main/externalobjects.c | 4 +- src/mesa/main/fbobject.c | 18 +-- src/mesa/main/feedback.c | 16 +-- src/mesa/main/fog.c | 16 +-- src/mesa/main/genmipmap.c | 2 +- src/mesa/main/hint.c | 16 +-- src/mesa/main/light.c | 38 +++---- src/mesa/main/lines.c | 4 +- src/mesa/main/matrix.c | 23 ++-- src/mesa/main/mipmap.c | 1 + src/mesa/main/mtypes.h | 1 + src/mesa/main/multisample.c | 14 ++- src/mesa/main/pipelineobj.c | 2 +- src/mesa/main/pixel.c | 36 +++--- src/mesa/main/points.c | 12 +- src/mesa/main/polygon.c | 21 ++-- src/mesa/main/queryobj.c | 6 +- src/mesa/main/rastpos.c | 6 +- src/mesa/main/readpix.c | 2 +- src/mesa/main/samplerobj.c | 12 +- src/mesa/main/scissor.c | 5 +- src/mesa/main/shaderapi.c | 18 +-- src/mesa/main/shaderimage.c | 4 +- src/mesa/main/state.c | 2 +- src/mesa/main/stencil.c | 34 ++++-- src/mesa/main/texenv.c | 22 ++-- src/mesa/main/texgen.c | 6 +- src/mesa/main/texgetimage.c | 4 +- src/mesa/main/teximage.c | 16 +-- src/mesa/main/texobj.c | 25 ++-- src/mesa/main/texparam.c | 10 +- src/mesa/main/texstate.c | 2 +- src/mesa/main/transformfeedback.c | 8 +- src/mesa/main/uniform_query.cpp | 8 +- src/mesa/main/uniforms.c | 4 +- src/mesa/main/viewport.c | 11 +- src/mesa/state_tracker/st_cb_bitmap.c | 1 + src/mesa/state_tracker/st_cb_rasterpos.c | 3 + src/mesa/state_tracker/st_manager.c | 2 +- src/mesa/vbo/vbo_exec_api.c | 5 +- src/mesa/vbo/vbo_save_draw.c | 10 +- 64 files changed, 455 insertions(+), 353 deletions(-) Diff: http://cgit.freedesktop.org/mesa/mesa/diff/?id=674d275f590d05f1f14dbe40a6c77b6203206ac5 _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit