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-03-30GL: Fix Invalid enum error on Apple SiliconClément Foucault
Guard shader storage related gets and bypass a buggy enum. Fix T95592 OpenGL Invalid Enum
2022-03-30GPUShaderCreateInfo: Add DepthWrite optionClément Foucault
This option lets specify explicitely how the fragment shader will change the fragment's depth.
2022-03-26GPU: ShaderBuilder: Skip shader compilation for unsupported shaders.Clément Foucault
2022-03-26GL: Fix shader error logging on Apple M1 hardwareClément Foucault
2022-03-23Cleanup: spelling in commentsCampbell Barton
2022-03-22GL: Fix compilation error on MSVC (for real)Clément Foucault
2022-03-22GL: Fix compilation error on MSVCClément Foucault
2022-03-22Metal: Make GLSL shader source MSL compliant alsoJason Fielder
Metal shading language follows the C++ 14 standard and in some cases requires a greater level of explicitness than GLSL. There are also some small language differences: - Explicit type-casts (C++ requirements) - Explicit constant values (C++ requirements, e.g. floating point values using 0.0 instead of 0). - Metal/OpenGL compatibility paths - GLSL Function prototypes - Explicit accessors for vector types when sampling textures. Authored by Apple: Michael Parkin-White Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D14378
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
2022-03-21GPU: Allow the user to set an anisotropic filtering setting below the ↵Ethan-Hall
implementation-defined value of `GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT` Allow the user to set an anisotropic filtering setting below the implementation-defined value of `GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT`. This bug-fix is also needed for 2.93 LTS. Reviewed By: fclem Differential Revision: https://developer.blender.org/D14392
2022-03-18GPU: Add indirect dispatch support.Clément Foucault
This uses a StorageBuf as the source of indirect dispatch argument. The user needs to make sure the parameters are in the right order. There is no support for argument offset for the moment as there is no need for it. But this might be added in the future. Note that the indirect buffer is synchronized at the backend level. This is done for practical reasons and because this feature is almost always used for GPU driven pipeline.
2022-03-18GPU: StorageBuf: Add method to clear the buffer in place.Clément Foucault
This is a faster way to clear a buffer instead of reuploading new data. It is equivalent to `memset` and runs directly on the GPU. This is better to clear huge buffers and to avoid the sync cost of data upload.
2022-03-18Cleanup: GPUStorageBuf: Fix header licenseClément Foucault
2022-03-18GPU: Add support for stencil buffer texturing mode.Clément Foucault
This adds the possibility to read the stencil buffer inside shaders. This is only available on GL 4.3 so use it accordingly.
2022-03-18GL: Check texture framebuffer feedback only if not using compute pipeline.Clément Foucault
This was getting in the way in multiple instances. Compute shaders dispatch are still made in the presence of the last bound framebuffer even if they do not interact with it.
2022-03-18GL: Add missing format in image layout conversionClément Foucault
2022-03-18GPUShaderCreateInfo: Add explicit early_fragment_testClément Foucault
2022-03-18GLShader: Fix two small issues with compute shader generated codeClément Foucault
2022-03-18GPU/GL: Add StorageBuf implementationClément Foucault
Almost 1:1 identical to UniformBuf implementation.
2022-03-15GPU capabilities: detect max SSBO bindingsKévin Dietrich
This adds detection of the maximum number of shader storage buffer bindings that is supported on the current platform. This can be useful to turn off features that require compute shaders but use more buffer bindings than available. Differential Revision: https://developer.blender.org/D14337
2022-03-11Cleanup: fix source comment typosBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D14307
2022-03-08Merge remote-tracking branch 'origin/blender-v3.1-release'Kévin Dietrich
2022-03-08GPU: disable compute shader for problematic driversKévin Dietrich
Some drivers for legacy platforms seem to have issues with compute shaders, as revealed by T94936. This disables compute shader for the known drivers where this issue is present. It is not clear if the issue is Windows only or not, so this disable them for all operating systems. See T94936 for a list of configurations where the issue is reproducible or not. Differential Revision: https://developer.blender.org/D14264
2022-02-25GPUTexture: Add support for texture viewClément Foucault
This is an OpenGL 4.3 feature that enables creating a texture using a range of the same data as another texture.
2022-02-25GPUTexture: Use immutable storageClément Foucault
This means textures need to have the number of mipmap levels specified upfront. It does not mean the data is immutable. There is fallback code for OpenGL < 4.2. Immutable storage will enables texture views in the future.
2022-02-23Cleanup: Remove repeated word in commentsCampbell Barton
2022-02-19Merge branch 'blender-v3.1-release'Hans Goudey
2022-02-18GL: Fix possible shift by -1Clément Foucault
This can happen when the attribute has been optimized out by the compiler.
2022-02-15Merge branch 'blender-v3.1-release'Hans Goudey
2022-02-15GLShaderInterface: Fix undefined behavior when attributes are optimized away.Clément Foucault
Optimized out attributes returns an invalid location `-1` resulting in an undefined behavior shift.
2022-02-15Merge branch 'blender-v3.1-release'Clément Foucault
2022-02-15GLCompute: Apply state before dispatchClément Foucault
2022-02-15GLDebug: Fix severity checkClément Foucault
The check was reversed, leading to less errors being reported.
2022-02-13Cleanup: Clang tidyHans Goudey
Use using instead of typedef, remove redundant string init, use "empty", address qualified auto, use nullptr.
2022-02-13Cleanup: Optimize gl query code pathJesse Yurkovich
Currently whenever gl queries are performed for the viewport, a large 1024 byte array is allocated to store the query results (256 of them). Unfortunately, if any gizmo using a `draw_select` callback is active (e.g. the transform gizmos), these queries (and allocations) will occur during every mouse move event. Change the vector to allow for up to 16 query results before making an allocation. This provides enough space for every built-in gizmo except Scale Cage (which needs 27 queries). It also removes unnecessary allocations from two other related vectors used during query processing. Differential Revision: https://developer.blender.org/D13784
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-07Merge branch 'blender-v3.1-release'Bastien Montagne
2022-02-07Fix UI messages (typos etc.).Bastien Montagne
2022-02-07Cleanup: spelling in commentsCampbell Barton
2022-02-06GLDebug: Wrap glDispatch function into our debug wrappersClément Foucault
2022-02-06Merge branch 'blender-v3.1-release'Clément Foucault
2022-02-06GPU: Fix assert when running without --debug-gpu option on older GLClément Foucault
This was caused by rB3a90f93507a344d2b6eb3ae631371348ff977047
2022-02-06Merge branch 'blender-v3.1-release'Clément Foucault
2022-02-06GPU: Debug: Avoid double printing of compilation issuesClément Foucault
To avoid that, we simply filter using a debug group.
2022-02-06Merge branch 'blender-v3.1-release'Clément Foucault
2022-02-05GL: Fix compute shader label errorClément Foucault
2022-02-05GLShaderInterface: Fix SSBO using the ubo maskClément Foucault
This might head lead to a crash when a shader uses both ubo and ssbo.
2022-02-04GLShader: Fix several low importance issuesClément Foucault
- Fix image.format conversion to string - Fix warnings about ARB_conservative_depth not found even if GL > 4.2 - Add `array(type)` define for portable array definition
2022-02-04GPUShader: Improve error/warning logging experienceClément Foucault
Thanks to the new `ShaderCreateInfo` we now include source files without any modification. This let us query which are the source files passed to the `print_log` function. The log will now include a file with row and column number which is interpreted as a link in most IDE. DEBUG_CONTEXT_LINES will add more lines around the error lines for more context. This is also useful if the error line is imprecise (because of driver bugs) and the reported line is not sufficient to know the location of the error. The DEBUG_DEPENDENCIES option will display the list of included files in the shader sources. Note that it will not print generated source. This commit also fixes some issues with unhelpful logs, bogus row & column numbers, other error format, and bug if row was 0.
2022-02-04GL: Add all image types in binding setup.Clément Foucault