Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2020-11-06Cleanup: Clang-Tidy, modernize-redundant-void-argSergey Sharybin
2020-09-10GL: Add fallback debug layerClément Foucault
This is to improve debugging on older hardware that may not support 4.3 debug capabilities (like Macs). This avoids sprinkling glGetErrors manually. This might still be needed to find the root cause since not all functions are covered. This overrides the functions pointers that GLEW have already init. This is only enabled if using --debug-gpu option and the debug extension are not available. This also cleanup the usage of GLContext::debug_layer_support and use wrapper to set object labels.
2020-09-08GPUContext: Move GPUContext to gpu::Context for more consistencyClément Foucault
This makes the GPUContext follow the same naming convention as the rest of the module. Also add a static getter for extra bonus style (no need for casts): - Context::get() - GLContext::get()
2020-09-08GPUImmediate: Make activation / deactivation implicitClément Foucault
This avoids unecessary complexity. Also makes the GPUImmediate threadsafe by using a threadlocal imm variable.
2020-09-08GPUState: Encapsulate glFlush and glFinish inside the GLContextClément Foucault
Part of the Vulkan task T68990 Isolate the few remaining gl functions.
2020-09-07Cleanup: GLBackend: Move buf_free and tex_free to GLContextClément Foucault
This makes it easier to follow. Also removes the GL related functions inside gpu_context.cc.
2020-09-07GPUCapabilities: Isolate GL memory statisticsClément Foucault
This is part of the Vulkan task T68990 This is a simple cleanup.
2020-09-07GPUCapabilities: Isolate GL_STEREO to GLContextClément Foucault
This is part of the Vulkan task T68990 This is a simple cleanup.
2020-09-01Cleanup: GPUContext: Remove unused functionsClément Foucault
2020-09-01GPU: Move UBO binding validation to GL backendClément Foucault
This also make the validation quicker by tracking the currently bound slots.
2020-09-01GL: Move MacOS debug callback to gl_debug.ccClément Foucault
And format to use the same callback as standard debugging layer.
2020-09-01GPUDebug: Reformat GL debug callbacks and move them to GL backendClément Foucault
Now the callbacks are setup for each debug context. The formating has been reworked to be less verbose and make errors and warnings stand out from the notifications. Errors are most of the time sufficiently explicit in their message. This also remove the support for AMD_debug_output which is 10 years old. This is related to the Vulkan port T68990.
2020-09-01Cleanup: GPU: Remove GPU_draw_primitive and default_vao_Clément Foucault
These are not used anymore and can be replicated using the GPUBatch API.
2020-08-31GPUImmediate: GL backend isolationClément Foucault
This is part of the Vulkan backend task T68990. This is mostly a cleanup, however, there is a small change: We don't use a special Vertex Array binding function for Immediate anymore and just reuse the one for batches. This might create a bit more state changes but this could be fixed easily if it causes perf regression. # Conflicts: # source/blender/gpu/intern/gpu_context.cc
2020-08-31GLContext: Fix framebuffer deletion to GPUContextClément Foucault
This has more meaning as it's the base class who holds the pointer. # Conflicts: # source/blender/gpu/opengl/gl_context.cc
2020-08-31Clang Tidy: Fix readability-delete-null-pointer warningsHans Goudey
2020-08-30GPUState: Move Scissor and Viewport state to framebufferClément Foucault
This way it is way clearer what each viewport state is. There is no more save and reset. The scissor test is also saved per framebuffer. The only rule to remember is that the viewport state (size and origin) is reset for both the viewport and scissor when a texture is attached or detached from an attachment slot.
2020-08-30GPUContext: Update internal framebuffer size when activating contextClément Foucault
This is to ensure the FrameBuffer extents are always up to date.
2020-08-30Cleanup: GPUContext: Remove default_framebuffer_Clément Foucault
This is now handled by FrameBuffer wrapping.
2020-08-30GPUFrameBuffer: GL backend isolationClément Foucault
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.
2020-08-25GL: Add error checking functionClément Foucault
This is to ease the debugging process on Apple GL implementation.
2020-08-18Cleanup: GPUState: Remove stack from the state manager and rename itClément Foucault
2020-08-18GPUState: Make use of GPUStateStack classClément Foucault
This isolate most GL calls to the GL backend. Still a few remains.
2020-08-13GPUBatch: GL backend isolationClément Foucault
This changes the drawing paradigm a bit. The VAO configuration is done JIT-style and depends on context active shader. This is to allow more flexibility for implementations to do optimization at lower level. The vao cache is now its own class to isolate the concept. It is this class that is reference by the GLContext for ownership of the containing VAO ids.
2020-08-13Cleanup: spellingCampbell Barton
2020-08-09msvc: Fix build error with msvc 2017Ray Molenkamp
`using blender;` Was required to get the Vector type.
2020-08-08Cleanup: GPU: Change gpu_context_private.h to C++ only headerClément Foucault
2020-08-08GPUBackend: Add new GPUBackend object to manage GL object allocationsClément Foucault
This just set a global object responsible for allocating new objects in a thread safe way without needing any GPUContext bound to this thread. This also introduce the GLContext which will contain all the GL related functions for the current context. # Conflicts: # source/blender/gpu/intern/gpu_context.cc
2020-08-08GPUBackend: Add new GPUBackend object to manage GL object allocationsClément Foucault
This just set a global object responsible for allocating new objects in a thread safe way without needing any GPUContext bound to this thread. This also introduce the GLContext which will contain all the GL related functions for the current context.