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
2020-12-18Fix T83494: Eevee clamp node incorrect when min > max.Jeroen Bakker
In glsl the clamp function has undefined behavior when min > max. For the clamp node this resulted in differences between cycles and eevee. This patch adds the expected implementation for minmax. The old clamp function is still used in cases where we know for certain that the input values are correct (math node clamp option). GPU uses optimized code and silicon in these cases.
2020-12-18Fix T83625: Shading attribute names cause compilation error.Jeroen Bakker
Some GPU platforms don't support having more than one underscore in sequence in an attribute name. This change will remove the underscore as a possible character when encoding to save names.
2020-12-16Fix 3D View is red when using stereoValdemar Lindberg
Fix T83415: 3D View is red when using stereo The red view was caused by SRGB not being enabled for an SRGB texture attached to the framebuffer. Currently, when configuring a framebuffer, the first texture attachment needs to be an SRGB format in order for the framebuffer to be binded with SRGB enabled. Thus, simply changing the SRGB texture attachment as the first texture attachment removes the red color in the view. Reviewed By: #eevee_viewport, jbakker Maniphest Tasks: T83415 Differential Revision: https://developer.blender.org/D9845
2020-12-16Cleanup: remove redundant struct declarationsCampbell Barton
2020-12-10Cleanup: rename BLI_strescape to BLI_str_escapeCampbell Barton
Prepare for `BLI_str_unescape` which doesn't read well without the separator.
2020-12-09Cleanup: various clang tidy fixesJacques Lucke
2020-12-09Degraded AMD 20.11.3 driver to limited support.Jeroen Bakker
2020-12-09Workaround for Access Violation startup crash on deprecated Radeon GPUs on ↵Jeroen Bakker
Windows This is a workaround for T80804. There's a startup crash that happens on 2.91.0 on Windows, an `EXCEPTION_ACCESS_VIOLATION` on `atio6axx.dll`. It is triggered by `glClear` on the `detect_mip_render_workaround` function. The workaround moves the function after the device/driver workaround section and sets the flag to the affected one to avoid running the check. It is deprecated hardware that has not meet the minimum requirements since 2.79, but is still usable and this extends its usability a bit before the cards are finally blacklisted. Reviewed By: Jeroen Bakker Differential Revision: https://developer.blender.org/D9667
2020-12-09Raised AMD/Terascale2 from unsupported to supported.Jeroen Bakker
There is a patch that fixes the crash on startup {D9667}.
2020-12-09Raised AMD CEDAR on Linux from unsupported to limited supportJeroen Bakker
There is a workaround available by setting the environment variable `R600_DEBUG=nosb`.
2020-12-07Cleanup: partial Clang-Tidy modernize-loop-convertSybren A. Stüvel
Modernize loops by using the `for(type variable : container)` syntax. Some loops were trivial to fix, whereas others required more attention to avoid semantic changes. I couldn't address all old-style loops, so this commit doesn't enable the `modernize-loop-convert` rule. Although Clang-Tidy's auto-fixer prefers to use `auto` for the loop variable declaration, I made as many declarations as possible explicit. To me this increases local readability, as you don't need to fully understand the container in order to understand the loop variable type. No functional changes.
2020-12-04Cleanup: Clang-Tidy, modernize-use-usingSybren A. Stüvel
Replace `typedef` with `using` in C++ code. In the case of `typedef struct SomeName { ... } SomeName;` I removed the `typedef` altogether, as this is unnecessary in C++. Such cases have been rewritten to `struct SomeName { ... };` No functional changes.
2020-12-04Cleanup: Clang-Tidy, modernize-deprecated-headersSybren A. Stüvel
No functional changes.
2020-12-04EEVEE: Arbitrary Output VariablesJeroen Bakker
This patch adds support for AOVs in EEVEE. AOV Outputs can be defined in the render pass tab and used in shader materials. Both Object and World based shaders are supported. The AOV can be previewed in the viewport using the renderpass selector in the shading popover. AOV names that conflict with other AOVs are automatically corrected. AOV conflicts with render passes get a warning icon. The reason behind this is that changing render engines/passes can change the conflict, but you might not notice it. Changing this automatically would also make the materials incorrect, so best to leave this to the user. **Implementation** The patch adds a copies the AOV structures of Cycles into Blender. The goal is that the Cycles will use Blenders AOV defintions. In the Blender kernel (`layer.c`) the logic of these structures are implemented. The GLSL shader of any GPUMaterial can hold multiple outputs (the main output and the AOV outputs) based on the renderPassUBO the right output is selected. This selection uses an hash that encodes the AOV structure. The full AOV needed to be encoded when actually drawing the material pass as the AOV type changes the behavior of the AOV. This isn't known yet when the GLSL is compiled. **Future Developments** * The AOV definitions in the render layer panel isn't shared with Cycles. Cycles should be migrated to use the same viewlayer aovs. During a previous attempt this failed as the AOV validation in cycles and in Blender have implementation differences what made it crash when an aov name was invalid. This could be fixed by extending the external render engine API. * Add support to Cycles to render AOVs in the 3d viewport. * Use a drop down list for selecting AOVs in the AOV Output node. * Give user feedback when multiple AOV output nodes with the same AOV name exists in the same shader. * Fix viewing single channel images in the image editor [T83314] * Reduce viewport render time by only render needed draw passes. [T83316] Reviewed By: Brecht van Lommel, Clément Foucault Differential Revision: https://developer.blender.org/D7010
2020-12-02GPU: Show Limited support message for polaris + 20.11.2 drivers.Jeroen Bakker
See T82856 for details.
2020-12-02GPU: Blacklist unsupported GPUs that crash during startup.Jeroen Bakker
Since Blender 2.91 the TeraScale 2 based cards crash during startup. This patch will show the user a screen that the platform they are using isn't supported. The GPUs have been carefully handpicked from dozens of reports. T83124, T83127, T83103, T83091, T83045, T83065, T82750, T82889, T82925, T82640, T82429, T82436, T82446.
2020-11-30Cleanup: Clang tidy void argumentHans Goudey
2020-11-30Fix T83203 BGL: shader.program wrongly always returns 0Clément Foucault
This was a leftover from the 2.91 GPU module refactor. This is an exception that should be removed when we remove BGL.
2020-11-26GPencil: Cleanup - Remove unused old shadersAntonio Vazquez
These fill shaders were used with the old draw engine.
2020-11-18Cleanup: declare original function storage variables staticCampbell Barton
Also minor comment formatting changes.
2020-11-17Merge branch 'blender-v2.91-release'Richard Antalik
Conflicts: source/blender/editors/render/render_opengl.c source/blender/sequencer/intern/effects.c
2020-11-17Fix T81827: MacOS lines that should be thick are green insteadClément Foucault
The issue was the use of alpha values of 0 when there were no blending enabled. This patch just disables the smoothing of the wires in this case.
2020-11-09Cleanup: clang-formatCampbell Barton
2020-11-06Cleanup: Clang-Tidy modernize-use-nullptrSybren A. Stüvel
Replace `NULL` with `nullptr` in C++ code. No functional changes.
2020-11-06Cleanup: Clang-Tidy, modernize-use-bool-literalsSergey Sharybin
2020-11-06Cleanup: Clang-Tidy, modernize-redundant-void-argSergey Sharybin
2020-11-06Cleanup: Clang-Tidy, readability-redundant-member-initSergey Sharybin
2020-11-06Cleanup: doxygen commentsCampbell Barton
2020-11-06Cleanup: use ELEM macro (>2 args)Campbell Barton
2020-11-06Cleanup: use ELEM macroCampbell Barton
2020-11-06Cleanup: follow our code style for float literalsCampbell Barton
2020-11-05Merge branch 'blender-v2.91-release' into masterClément Foucault
2020-11-05GPU: Fix valgrind warnings about branching on uninitialized variablesClément Foucault
2020-11-05Fix T80842 Grease Pencil: Subtract mode is not working as expectedClément Foucault
The blend equation was not set correctly inside the GL Module since the refactor.
2020-11-04Merge branch 'blender-v2.91-release'Richard Antalik
2020-11-04Fix T82385 EEVEE: Alpha Clip shadows actually using Alpha Hashed shadowsClément Foucault
The shadow path was not using the alpha threshold.
2020-11-04Merge branch 'blender-v2.91-release'Jeroen Bakker
2020-11-04Fix T67832: Camera Background Images View TransformJeroen Bakker
This patch will apply the view transform when a movie clip is used as camera background image. It does this by rendering the image in the color buffer when it needs the view transform. For other images it uses the overlay buffer. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7067
2020-11-04Cleanup: make formatAaron Carlisle
2020-11-03Merge branch 'blender-v2.91-release'Antonio Vazquez
2020-11-03GL: Fix default framebuffers being bound using srgbClément Foucault
Default backbuffers needs not to be bound with sRGB encoding enabled. This works when using `GPU_framebuffer_restore` but using `GPU_framebuffer_bind` would trigger the wrong behavior. This fix T81969 UI turns whiteish when playing video sequence based on a scene and moving in the image editor after saving
2020-11-03Materials: add custom object properties as uniform attributes.Alexander Gavrilov
This patch allows the user to type a property name into the Attribute node, which will then output the value of the property for each individual object, allowing to e.g. customize shaders by object without duplicating the shader. In order to make supporting this easier for Eevee, it is necessary to explicitly choose whether the attribute is varying or uniform via a dropdown option of the Attribute node. The dropdown also allows choosing whether instancing should be taken into account. The Cycles design treats all attributes as one common namespace, so the Blender interface converts the enum to a name prefix that can't be entered using keyboard. In Eevee, the attributes are provided to the shader via a UBO indexed with resource_id, similar to the existing Object Info data. Unlike it, however, it is necessary to maintain a separate buffer for every requested combination of attributes. This is done using a hash table with the attribute set as the key, as it is expected that technically different but similar materials may use the same set of attributes. In addition, in order to minimize wasted memory, a sparse UBO pool is implemented, so that chunks that don't contain any data don't have to be allocated. The back-end Cycles code is already refactored and committed by Brecht. Differential Revision: https://developer.blender.org/D2057
2020-11-03Materials: support true float4 attributes in the Attribute node.Alexander Gavrilov
Add a new Alpha socket to the Attribute node that outputs the fourth component of the attribute. Currently the only such attribute is vertex color, but there may be more in the future. If the attribute has no alpha channel, the expected value is 1. The Cycles code is already refactored and committed by Brecht. Ref D2057
2020-10-26Cleanup: compiler warningsBrecht Van Lommel
2020-10-23GPU: Debug: Trim shader stats from output logClément Foucault
We don't make use of it anyway.
2020-10-23GPU: Use CLOG to for debug outputClément Foucault
This removes the escape color control caracters when the output does not supports it (i.e: file output, windows cmd).
2020-10-23Cleanup: remove redundant assignment in previous bugfixBrecht Van Lommel
2020-10-23Fix use of uninitialized line/polygon smooth variables in GPU stateBrecht Van Lommel
Found by valgrind, unclear if this caused an actual bug.
2020-10-23Fix T73793 Walk navigation crosshair gets hidden behind objectsClément Foucault
This was reintroduced by the wide line emulation workaround.
2020-10-22EEVEE: Principle BSDF: Use multi-scatter switch for the glass variantClément Foucault
This avoid strange discrepency between the general purpose variant and the specialized glass variant which did not have a way to turn multi-scatter off.