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-05-25GPU: Updated comment about HQ normals workaround.Jeroen Bakker
2022-05-25GPU: Fix issue that negated HQ normals workaround.Jeroen Bakker
Thanks Germano for pointing it out.
2022-05-24Fix T97828: Split normals not visible on certain platforms.Jeroen Bakker
It is a know issue that split normals aren't supported when using high quality normals in the viewport. Some AMD platforms were pushed to use high quality normals to work around a driver bug where 1010102 texture formats `GL_INT_2_10_10_10_REV` wasn't uploaded to the GPU. This change will remove commonly used polaris platforms from the work-around. This has been tested with a RX480 against the latest AMD whql drivers (22.5.1). Users need to ensure that they use the latest drivers that are available on their platform. Although this change doesn't fix the underlying issue to support edit normals when high quality normals are enabled. It will not force that common platforms cannot use a feature as their platform is forced into using a work-around.
2022-05-23Fix Eevee blackbody wrong with non-default scene linear color spaceBrecht Van Lommel
* Port over new code tables from Cycles * Convert Rec.709 to scene linear for lookup table. * Move code for wavelength and blackbody to IMB so they can access the required transforms, which are not in blenlib. * Remove clamping from blackbody shader to bypass the texture read. Since it's variable now easiest to just always read from the texture than pass additional parameters. * Fold XYZ to RGB conversion into the wavelength table. Ref T68926
2022-05-23Cleanup: GPU: Remove `gpu_shader_common_obinfos_lib.glsl`Clément Foucault
This has been replaced by `draw_object_infos`.
2022-05-23EEVEE: Fix unreported broken normal map node modesClément Foucault
A compilation error was making it impossible to use normal map modes other than tangent.
2022-05-18Cleanup: formatCampbell Barton
2022-05-13MacOS/AMD: Drawing artifacts in VSE.Jeroen Bakker
Related to the partial revert done for T97272. It seems also that the workaround should be enabled for any MACOS platform.
2022-05-13Fix T97872: Annotation lines lost AAGermano Cavalcante
Since rB2a7a01b339ad, `lineSmooth` has lost its default value of true. rBa0a99fb25284 only fixed the problem on master. But thanks to @hitrpr for spotting the bug in version 3.2 too. Differential Revision: https://developer.blender.org/D14876
2022-05-12color attributes: Fix broken vertex color nodeJoseph Eagar
Fall back onto the old behavior (use the render color attribute) if the vertex color node's attribute name is blank.
2022-05-11Fix T97330: GPU Subdiv compiler error.Jeroen Bakker
GLSL has different max number of ssbo per glsl stage. This patch checks if the number of compute ssbo blocks matches our requirements for the GPU Subdiv, before enabling it. Some platforms allow more ssbo bindings then blocks per stage.
2022-05-11Fix T96892 Overlay: Hiding all of a mesh in edit mode causes visual glitchClément Foucault
This is caused by the geometry shader used by the edit mode line drawing. If the drawcall uses indexed drawing and if the index buffer only contains restart indices, it seems the result is 1 glitchy invocation of the geometry shader. Workaround by tagging these special case index buffers and bypassing their drawcall.
2022-05-10Fix T95298 ImageEditor: Multi-view images fail to display properlyClément Foucault
This was because the shader had wrong output slot order. This also add a note about why the order is reversed compared to the texture binding.
2022-05-10Fix T97272: Lag when resizing viewports.temp-T97272Jeroen Bakker
Viewports where cleared explicitly due to compatibility reasons with Intel iGPUs. This slowed down other platforms as well, this wasn't noticeable on all platforms. This patch will be more selective when to enable the workaround. Currently only for iGPUs on Mac + Linux.
2022-05-10Eevee: Fix GLSL compilation error.Jeroen Bakker
Introduced by {35594f4b92fa4cbb5b848f447b7a3323e572b676}. Some platforms do not support temp variables to be used as inout parameter. Detected on Mac with Intel iGPU.
2022-05-10Fix T97545 GPU: Crash caused by uncommented quote char in source stringClément Foucault
Some drivers completely forbid quote characters even in unused preprocessor directives. This patch adds a debug build check for all `.glsl` files that need to be manually handled. For shared headers with `#include` directives, we need to do runtime patching of the source to remove the quote. Also fix an instance of the quotes check failing in `eevee_next`.
2022-05-10Fix T97985 EEVEE: Shader mixing not working correctly when reusing shader nodesClément Foucault
This was caused by the `Closure` members being added to the final contribution more than once. The workaround is to clear the members once a closure has been added to the final contribution. I used `inout` on `Closure` inputs so that the render engine implementation of mix and add closure nodes can do its own thing. The nodegraph handling of inout was changed for this to work.
2022-05-09Fix T97984: GPUCodegen: crash when loading demo fileClément Foucault
This was caused by the name buffer not being ensured in all cases. Change the behavior and always create the `NameBuffer`.
2022-05-09Fix T97983 EEVEE: Tangent Normal of Curves info behaves differently in EeveeClément Foucault
Curve tangent was correctly mistaken with curve normal. This patch fixes the name of the output in the glsl function and make curve attributes more explicit (with `curve_` prefix). This also improve the normal computation by making it per pixel to match cycles. Also ports the changes to eevee-next.
2022-05-09GPU: Unable to compile material shaders.Jeroen Bakker
This fixes a threading issues when material shaders with textures are used. It localizes the names of the samplers.
2022-05-09GPU: Fix crash deferred shader compilation.Jeroen Bakker
On certain systems when eevee is used in a 3d viewport could crash. It happened more often on slower systems or systems with slower glsl compilers. For example an Intel Mac Mini. The cause was that even if a GPUMaterial was in used it could be freed.
2022-05-07GPUShader: Add static compilation to clipped shader variationsClément Foucault
This allows testing them for errors.
2022-05-04Fix T97827: material preview not displaying texturesKévin Dietrich
Caused by rB281bcc1c1dd6 which did not properly made use of `vec4` for UVs which are now loaded as attributes.
2022-05-04License headers: add missing license headersCampbell Barton
Add missing license headers based on files in the same directory.
2022-05-03Fix T93179: geonodes UVs and Vertex colors do not work in EEVEEKévin Dietrich
Overwriting UV map or vertex color data in Geometry nodes will move the layers to another CustomData channel, and as such, will make attribute lookup fail from the UVMap and Vertex Color nodes in EEVEE as the CustomDataType will also be modified (i.e. no longer `CD_MTFACE` or `CD_MCOL`). As discussed in T93179, the solution is to use `CD_PROP_AUTO_FROM_NAME` so that the render engine is able to find the attributes. This also makes EEVEE emulate Cycles behaviour in this regard. `attr_load_uv` and `attr_load_color` are also removed in favor of the generic attribute API in the various GLSL shaders. Although `CD_PROP_AUTO_FROM_NAME` is now used even for UV maps, the active UV map is still used in case the attribute name is empty, to preserve the old behavior. Differential Revision: https://developer.blender.org/D13730
2022-05-02GPU: Remove OCIO workaround for Apple.Jeroen Bakker
OCIO shader was ported to use GPUShaderCreateInfo a while ago. That made this workaround not needed anymore. Best to remove it before the release.
2022-05-02EEVEE: Rewrite: Implement nodetree support with every geometry typesClément Foucault
This commit introduce back support for all geometry types and all nodetree support. Only the forward shading pipeline is implemented for now. Vertex Displacement is automatically enabled for now. Lighting & Shading is placeholder. Related Task: T93220 # Conflicts: # source/blender/draw/engines/eevee_next/eevee_engine.cc # source/blender/gpu/CMakeLists.txt
2022-05-02Cleanup: GPUBuiltinShader: Remove old shader interfacesClément Foucault
This leaves some of the unresolved case where we still need both implementation.
2022-05-02Cleanup: GPUShader: Make style consistent in builtin_shader_stagesClément Foucault
2022-05-02GPUShader: Remove GPU_SHADER_INSTANCE_VARIYING_COLOR_VARIYING_SIZEClément Foucault
This had only one use and it was for debugging. Remove the shader for now. This also simplifies the debug drawing even if slower.
2022-05-02GPUShader: Port 3D uniform color clipped shaders to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-02GPUShader: Port dashed line shaders to use shaderCreateInfoClément Foucault
This should have no functional changes. This reduce the complexity of the shader by only supporting 2 colors. We never use more than 2 color in practice and this makes usage not require a UBO.
2022-05-02GPUShader: Port polyline shaders to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-01GPUShaderCreateInfo: Add validation for overlapping vertex attributeClément Foucault
Those are usually not supported but some driver silently fix them and most just silently fail (rendering error).
2022-05-01GPUShader: Port 2D widget shaders to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-01GL: Add attribute-less shader workaround for MacOS to the backendClément Foucault
This workaround and the issue was described in D4490. This makes sure any shader using `shaderCreateInfo` will benefit from the same workaround.
2022-05-01Basic Engine: Port depth shader (object selection) to shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-01Overlay: Port sculpt mask shader to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-01Overlay: Port wireframe shader to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-01Overlay: Port facing shader to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-01Overlay: Port background shaders to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-01Overlay: Port outline shaders to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-04-30Overlay: port paint shaders to use 'GPUShaderCreateInfo'Germano Cavalcante
Simple port. Also a description of how each shader is used has been added. NOTE: The shader created using `OVERLAY_shader_paint_vertcol` cannot be tested. Apparently it is created but not used. Reviewed By: fclem Differential Revision: https://developer.blender.org/D14812
2022-04-30Overlay: Port edit uv shaders to use shaderCreateInfoClément Foucault
This should have no functional changes. Removed `antialiasing_vert.glsl` becaus it was actually a duplicate of `common_fullscreen_vert.glsl`.
2022-04-30Overlay: Port volume shaders to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-04-29Overlay: Port extra shaders to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-04-29Select Engine: port shader to use 'GPUShaderCreateInfo'Germano Cavalcante
Simple port with a few cosmetic changes: - Attribute named "color" for indices VBO is now called "index" - The indices VBO is now composed of `int`s instead of `uint`s (this simplifies the source) Differential Revision: https://developer.blender.org/D14800
2022-04-29GLState: Avoid possible undefined behavior in state comparisonClément Foucault
The bitwise XOR used to compute the delta (`changed`) might produce NaN and thus produce undefined behavior when comparing to another float (because of float promotion).
2022-04-29shader_builder: fix build issue on windowsRay Molenkamp
shader_builder had no manifest set, leading to the classic common control version being loaded which in turn caused an import error and made the executable fail to initialize.
2022-04-28Overlay: Port Grid shader to shaderCreateInfo and other code cleanupClément Foucault
Along with the port to createInfo this also: - Packs constant uniforms in a UBO. - Share enum declaration and unify names - Makes codeflow easier to undestand. - Split grid data to its own struct. # Conflicts: # source/blender/draw/engines/overlay/overlay_grid.c