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
2022-09-26Cleanup: replace C-style casts with functional casts for numeric typesCampbell Barton
Use function style casts in C++ headers & source.
2022-09-17GL: Framebuffer: Add support for empty framebuffer (no attachments)Clément Foucault
This allows to reduce the memory footprint of very large framebuffers if there is no need for any attachment.
2022-06-27MTLCommandBufferState for coordinating GPU workload submission and render ↵Jason Fielder
pass coordination. MTLFrameBuffer has been implemented to support creation of RenderCommandEncoders, along with supporting functionality in the Metal Context. Optimisation stubs for GPU_framebuffer_bind_ext has been added, which enables specific assignment of attachment load-store ops at the bind level, rather than on a framebuffer object as a whole. Begin and end frame markers are used to encapsulate frame boundaries for explicit workload submission. This is required for explicit APIs where implicit flushing of work does not occur. Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D15027
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-02-04GPUFramebuffer: Bump max attachment count to 8Clément Foucault
This is needed by eevee-rewrite
2022-01-06Cleanup: Clang-tidy: modernize-redundant-void-argAaron Carlisle
2021-05-03Cleanup: spellingCampbell Barton
2021-04-30Cleanup: Rename `#if GPU_USE_PY_REFERENCES` to `#ifndef ↵Germano Cavalcante
GPU_NO_USE_PY_REFERENCES` This is safer for incremental build. And there was already a macro `GPU_USE_PY_REFERENCES` used elsewhere.
2021-04-30Python GPU: Add new methods to port the code templates in the manualGermano Cavalcante
This commit adds a new API tha allow to replace the bgl API in the exemples on: https://docs.blender.org/api/current/gpu.html **Overview (New API):** ``` gpu.state: active_framebuffer_get GPUFramebuffer: read_color GPUOffscreen: texture_color ``` Reviewed By: brecht Differential Revision: https://developer.blender.org/D11031
2021-04-30Python GPU: Add reference of PyObject GPU object to the GPU object itselfGermano Cavalcante
Instead of creating different python wrappers for the same GPU object, return the same `PyObject` created earlier. This also allows for more secure access to existing GPU objects. Reviewed By: brecht Differential Revision: https://developer.blender.org/D11044
2021-02-05Cleanup: outdated/unhelpful commentsCampbell Barton
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2020-11-05GPU: Fix valgrind warnings about branching on uninitialized variablesClément Foucault
2020-10-02Cleanup: compiler warningsCampbell Barton
2020-09-08GPU: Cleanup implementation castsClément Foucault
- Use the syntactic wrap/unwrap method to make code more readable. - Update comment about hidden struct behind opaque types. - Cleanup GPUDrawList type.
2020-09-05Cleanup: GPUTexture: Clean framebuffer attachmentClément Foucault
2020-09-05GPUFramebuffer: Encapsulate single attachement clearClément Foucault
This is in preparation of using it to clear single texture. Also includes minor cleanups about not using tex target in assert and adding enum operators.
2020-09-02Cleanup: spelling, rename attachement -> attachmentCampbell Barton
2020-09-02Cleanup: spellingCampbell Barton
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-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-30GPUFramebuffer: Make GPUFrameBuffer an opaque typeClément Foucault
This is in preparation of the Framebuffer GL backend. This is a just changing types and moving some code. No logic is changed... almost... it just removes the context attach. i.e: `gpu_context_add/remove_framebuffer()` This is not needed for now and was even disabled in release. This is part of T68990.