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-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
2022-02-04GPUFramebuffer: Bump max attachment count to 8Clément Foucault
This is needed by eevee-rewrite
2022-02-04GPUState: Add more barrier typesClément Foucault
This will be useful when compute shader will be used more. Refer to the opengl documentation for their meaning. https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glMemoryBarrier.xhtml
2022-02-04Merge branch 'blender-v3.1-release'Clément Foucault
2022-02-04Workbench: Fix unreported heavily quantized mesh due to driver issueClément Foucault
Detected on `amdgpu-pro` libGL implementation. The workaround is to not use explicit location for vertex attributes. This is not a real problem as we don't rely on them for now.
2022-02-04Cleanup: Clang tidy, use bracesHans Goudey
Braces missed in b73d3b80fdcb72446
2022-02-01Merge branch 'blender-v3.1-release'Clément Foucault
2022-02-01Fix T95278: Crash on startup because of GLSL recursionClément Foucault
Bypassing the defines which are only there for error checking.
2022-02-01GPUShader: Rename createInfo storage QualifiersClément Foucault
Using opt-in instead of opt-out to make code easier to read. Add combined flag enum. Making restrict an inverse flag option because it is so rare to use it.
2022-02-01GPUShader: Add support for gpu_BaryCoord and fallbackClément Foucault
This adds the possibility to use the `gpu_BaryCoord[NoPersp]` builtin to support barycentric coordinates without geometry shader. The `BuiltinBits::LAYER` builtin needs to be manually added to the `GPUShaderCreateInfo` in order to use this feature. Note: This is only available for shaders using `GPUShaderCreateInfo`. A geometry shader fallback is generated if the extension `AMD_shader_explicit_vertex_parameter` is not available. `NV_fragment_shader_barycentric` was not considered because it is not present inside the `glew.h` with use and seems to only be available with vulkan.
2022-02-01GPUShader: Add support for vertex shader gl_Layer and fallbackClément Foucault
This adds the possibility to use the `gpu_Layer` builtin to support layered rendering without geometry shader. The `BuiltinBits::LAYER` builtin needs to be manually added to the `GPUShaderCreateInfo` in order to use this feature. Note: This is only available for shaders using `GPUShaderCreateInfo`. A geometry shader fallback is generated if the extension `AMD_shader_explicit_vertex_parameter` is not available.
2022-01-31Cleanup: use our own conventions for tags in commentsCampbell Barton
2022-01-29Fix typos in rB0a8fa07735cdb89081b652c032c73863e34f8ff1Clément Foucault
2022-01-29Fix T95278: Crash on startup because of GLSL compiler bugClément Foucault
The GLSL defines used to make the uniform names unusable for local variable is being interpreted as recursive on some implementation. This avoids it by create a second macro avoiding the recursion.
2022-01-28Cleanup: Clang-tidy warning gl_shader.ccJeroen Bakker
2022-01-27GLFramebuffer: Add assert to check if framebuffer has the expected dataClément Foucault
It came to light that there is no error checking when trying to read a framebuffer plane without anything attached to it.
2022-01-27GPUShaderCreateInfo: Remove push_constant indexingClément Foucault
This is too much impractical and offers no real benefit.
2022-01-26D13910: Workbench: Port shaders to use GPUShaderCreateInfoClément Foucault
Also adds a few things to GPUShader for easily create shaders. Heavy usage of macros to compose the createInfo and avoid duplications and copy paste bugs. This makes the link between the shader request functions (in workbench_shader.cc) and the actual createInfo a bit obscure since the names are composed and not searchable. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D13910
2022-01-26Cleanup: unused variable warning, formattingCampbell Barton