Blender Git Loki
Git Commits -> Revision f3a65a1
Revision f3a65a1 by Clément Foucault (master) August 30, 2020, 11:11 (GMT) |
GPUFrameBuffer: GL backend isolation This is related to the Vulkan port T68990. This is a full cleanup of the Framebuffer module and a separation of OpenGL related functions. There is some changes with how the default framebuffers are handled. Now the default framebuffers are individually wrapped inside special GLFrameBuffers. This make it easier to keep track of the currently bound framebuffer state and have some specificity for operations on these framebuffers. Another change is dropping the optimisation of only configuring the changed attachements during framebuffers update. This does not give any benefits and add some complexity to the code. This might be brought back if it has a performance impact on some systems. This also adds support for naming framebuffers but it is currently not used. |
Commit Details:
Full Hash: f3a65a1b4aa3c7da221acdbeee20afb7ebe3b221
Parent Commit: 0850afb
Lines Changed: +1196, -781
4 Added Paths:
/source/blender/gpu/intern/gpu_texture_private.hh (+53, -0) (View)
/source/blender/gpu/opengl/gl_framebuffer.cc (+420, -0) (View)
/source/blender/gpu/opengl/gl_framebuffer.hh (+142, -0) (View)
/source/blender/gpu/opengl/gl_texture.hh (+81, -0) (View)
/source/blender/gpu/opengl/gl_framebuffer.cc (+420, -0) (View)
/source/blender/gpu/opengl/gl_framebuffer.hh (+142, -0) (View)
/source/blender/gpu/opengl/gl_texture.hh (+81, -0) (View)
15 Modified Paths:
/source/blender/draw/intern/draw_manager.c (+1, -1) (Diff)
/source/blender/draw/intern/draw_manager_exec.c (+8, -13) (Diff)
/source/blender/gpu/CMakeLists.txt (+3, -0) (Diff)
/source/blender/gpu/GPU_framebuffer.h (+22, -17) (Diff)
/source/blender/gpu/GPU_texture.h (+3, -1) (Diff)
/source/blender/gpu/intern/gpu_backend.hh (+2, -1) (Diff)
/source/blender/gpu/intern/gpu_context_private.hh (+12, -0) (Diff)
/source/blender/gpu/intern/gpu_framebuffer.cc (+286, -701) (Diff)
/source/blender/gpu/intern/gpu_framebuffer_private.hh (+86, -30) (Diff)
/source/blender/gpu/intern/gpu_texture.cc (+19, -5) (Diff)
/source/blender/gpu/opengl/gl_backend.hh (+6, -0) (Diff)
/source/blender/gpu/opengl/gl_context.cc (+42, -0) (Diff)
/source/blender/windowmanager/intern/wm_draw.c (+2, -4) (Diff)
/source/blender/windowmanager/intern/wm_surface.c (+2, -2) (Diff)
/source/blender/windowmanager/intern/wm_window.c (+6, -6) (Diff)
/source/blender/draw/intern/draw_manager_exec.c (+8, -13) (Diff)
/source/blender/gpu/CMakeLists.txt (+3, -0) (Diff)
/source/blender/gpu/GPU_framebuffer.h (+22, -17) (Diff)
/source/blender/gpu/GPU_texture.h (+3, -1) (Diff)
/source/blender/gpu/intern/gpu_backend.hh (+2, -1) (Diff)
/source/blender/gpu/intern/gpu_context_private.hh (+12, -0) (Diff)
/source/blender/gpu/intern/gpu_framebuffer.cc (+286, -701) (Diff)
/source/blender/gpu/intern/gpu_framebuffer_private.hh (+86, -30) (Diff)
/source/blender/gpu/intern/gpu_texture.cc (+19, -5) (Diff)
/source/blender/gpu/opengl/gl_backend.hh (+6, -0) (Diff)
/source/blender/gpu/opengl/gl_context.cc (+42, -0) (Diff)
/source/blender/windowmanager/intern/wm_draw.c (+2, -4) (Diff)
/source/blender/windowmanager/intern/wm_surface.c (+2, -2) (Diff)
/source/blender/windowmanager/intern/wm_window.c (+6, -6) (Diff)