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-15Cleanup: spelling in comments, comment blocksCampbell Barton
2022-09-09License headers: use SPDX identifiersCampbell Barton
2022-09-09Cleanup: format, trailing spaceCampbell Barton
2022-09-06Cleanup: spelling in comments, formatting, move comments into headersCampbell Barton
2022-09-01Metal: MTLShader and MTLShaderGenerator implementation.Thomas Dinges
Full support for translation and compilation of shaders in Metal, using GPUShaderCreateInfo. Includes render pipeline state creation and management, enabling all standard GPU viewport rendering features in Metal. Authored by Apple: Michael Parkin-White, Marco Giordano Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D15563
2022-09-01Metal: MTLIndexBuf class implementation.Jason Fielder
Implementation also contains a number of optimisations and feature enablements specific to the Metal API and Apple Silicon GPUs. Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D15369
2022-08-31GPUCapabilities: Add GPU_shader_draw_parameters_supportClément Foucault
This checks for the availability of `gl_BaseInstanceARB` or equivalent. Disabling for any workaround that disables shader_image_load_store_support as a preventive measure.
2022-08-30Cleanup: formatCampbell Barton
2022-08-29Fix compilation issue in MTLQueryPool::allocate_buffer.Jeroen Bakker
This compilation issue happened due to multiple patches being handled at the same time one overwriting a correction of the other.
2022-08-29Cleanup: Add missing override keyword in mtl_backend.Jeroen Bakker
2022-08-11Cleanup: spelling in commentsCampbell Barton
2022-07-21Cleanup: formatCampbell Barton
2022-07-21Cleanup: spelling in comments, typos in tool-tipsCampbell Barton
2022-07-19Metal: Add license header to new filesClément Foucault
2022-07-19Metal: MTLUniformBuffer module implementationJason Fielder
Initial implementation. Authored by Apple: Michael Parkin-White Ref T96261 Reviewed By: fclem Differential Revision: https://developer.blender.org/D15357
2022-07-19Metal: MTLQueryPool implementation adding support for occlusion queries.Jason Fielder
When a query begins, the current visibility result buffer needs to be associated with the currently active Render Pass. The MTLContext and MTLCommandBuffer are responsible for ensuring new render pass objects are created if the visibility state changes. Authored by Apple: Michael Parkin-White Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D15356
2022-07-15Fix GPU backend deleting resources without an active contextBrecht Van Lommel
This causes an assert with libepoxy, but was wrong already regardless. Refactor logic to work as follows: * GPU_exit() deletes backend resources * Destroy UI GPU resources with the context active * Call GPU_backend_exit() after deleting the context Ref D15291 Differential Revision: https://developer.blender.org/D15465
2022-07-14Cleanup: spelling in commentsCampbell Barton
Also remove duplicate comments in bmesh_log.h, caused by automated comment relocation in [0]. [0]: c4e041da23b9c45273fcd4874308c536b6a315d1
2022-07-04METAL: Add license header to new filesClément Foucault
2022-07-04Cleanup: spelling in commentsCampbell Barton
2022-07-01Metal: MTLMemoryManager implementation includes functions which manage ↵Jason Fielder
allocation of MTLBuffer resources. The memory manager includes both a GPUContext-local manager which allocates per-context resources such as Circular Scratch Buffers for temporary data such as uniform updates and resource staging, and a GPUContext-global memory manager which features a pooled memory allocator for efficient re-use of resources, to reduce CPU-overhead of frequent memory allocations. These Memory Managers act as a simple interface for use by other Metal backend modules and to coordinate the lifetime of buffers, to ensure that GPU-resident resources are correctly tracked and freed when no longer in use. Note: This also contains dependent DIFF changes from D15027, though these will be removed once D15027 lands. Authored by Apple: Michael Parkin-White Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D15277
2022-06-30Cleanup: spelling in commentsCampbell Barton
2022-06-29Cleanup: spelling in commentsCampbell Barton
2022-06-28Cleanup: fix various typosluzpaz
Differential Revision: https://developer.blender.org/D15304
2022-06-27Cleanup: formatCampbell Barton
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-06-20Cleanup: Grammar: a vs anHans Goudey
2022-06-09Cleanup: spelling in comments & variablesCampbell Barton
2022-06-01Cleanup: '*' prefix C-comment blocksCampbell Barton
2022-05-19Cleanup: format, reduce line length & strip trailing spaceCampbell Barton
2022-05-13Cleanup: spelling in comments, capitalize tagsCampbell Barton
Also add missing task-ID reference & remove colon after \note as it doesn't render properly in doxygen.
2022-05-12Metal: MTLState module implementation.Jason Fielder
MTLState module implementation and supporting functionality in MTLContext for state tracking, texture binding and sampler state caching. Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D14827
2022-05-05Cleanup: spelling in commentsCampbell Barton
2022-05-04Merge branch 'blender-v3.2-release'Campbell Barton
2022-05-04License headers: add missing license headersCampbell Barton
Add missing license headers based on files in the same directory.
2022-05-03Cleanup: spelling in commentsCampbell Barton
2022-04-28Cleanup: spelling in commentsCampbell Barton
Also use back-slashes for doxy commands.
2022-04-28Cleanup: formatCampbell Barton
2022-04-27Metal: MTLTexture core implementation for Metal backend, with minimal ↵Clément Foucault
surrounding functionality. This covers implementation of the GPUTexture abstraction for the Metal backend, with additional utility functionality as required. Some components have been temporarily disabled pending dependencies on upcoming Metal backend components, and these will be addressed as the backend is fleshed out. One core challenge addressed in the Metal backend is the requirement for read/update routines for textures. MTLBlitCommandEncoders offer a limited range of the full functionality provided by OpenGLs texture update and read functions such that a series of compute kernels have been implemented to provide advanced functionality such as data format conversion and partial/swizzled component updates. This diff is provided in full, but if further division is required for purposes of code review, this can be done. Authored by Apple: Michael Parkin-White Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D14543
2022-03-31Cleanup: spelling, trailing space for comment-blocksCampbell Barton
2022-03-23Cleanup: spelling in commentsCampbell Barton
2022-03-23License headers: add license header to source/blender/gpu/metalCampbell Barton
2022-03-22Cleanup: make format and fix warningJacques Lucke
2022-03-22Metal: Initial Implementation of Metal Backend for GPU Module.Jason Fielder
Adding WITH_METAL option to CMAKE to guard compilation for macOS only. Implemented stub METALBackend to mirror GPUBackend interface and added capabilities initialisation, along with API initialisation paths. Global rendering coordination commands added to backend with GPU_render_begin and GPU_render_end() commands globally wrapping GPU work. This is required for Metal to ensure temporary resources are generated within an NSAutoReleasePool and freed accordingly. Authored by Apple: Michael Parkin-White, Vil Harvey, Marco Giordano, Michael Jones, Morteza Mostajabodaveh, Jason Fielder Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D14293