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-07-03Clang-Tidy: Enable readability-redundant-control-flowHans Goudey
2020-07-03Cleanup: Fluid renaming from old 'manta' naming to new 'fluid' namingSebastián Barschkis
Changed variable names from mmd, mds, mfs, and mes to fmd, fds, ffs, and fes. The author of this commits lights a candle for all the merge conflicts this will cause.
2020-07-02GPUOffScreen: Remove the sample parameterClément Foucault
This is because the DRW module is no longer compatible with drawing using MSAA. This also change the Python API.
2020-07-02Fix T77686: EEVEE environment pass with film transparencyJeroen Bakker
When the film is set to transparent the environment pass should still be rendered solid. otherwise it renders black. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D8046
2020-07-01Fix missing GPU image free in background modeBrecht Van Lommel
This is legacy code from before Eevee and Workbench rendering in background mode was supported. Avoid memory leak by only queueing GPU textures to be freed when we know they have been allocated. Differential Revision: https://developer.blender.org/D8172
2020-07-01GPU: Apple/Nvidia Proxy checkStefan Werner
Apple's Nvidia driverPROXY check also fails. Now the configuration Apple/Nvidia will also bypass the Proxy test. Maniphest Tasks: T78175 Differential Revision: https://developer.blender.org/D8160
2020-07-01Fix T77641 Sculpt mode performance regression in 2.83Clément Foucault
2020-06-30Cleanup: spellingCampbell Barton
2020-06-30EEVEE: Fix undefined behavior when using BSDF nodes inside volume shadersClément Foucault
This should fix T76171 Eevee bsdf shaders glitches
2020-06-29Fix T74220 Mantaflow Color Mapping not ignoring alpha valueClément Foucault
And also remove some sRGB hack.
2020-06-28Fix T74024 Faces missing, weird faces addedClément Foucault
Workaround by adding a special case for that driver in gpu_extensions.c
2020-06-28Fix T77549 GPUTexture: Crash caused by NULL parameter to glBindTextures...Clément Foucault
... or glBindSamplers.
2020-06-26Fix T78237 UI: NLA colors black and brokenClément Foucault
This was caused by missing GL blend. This patch also fix the broken strip appearance under timeline zoom.
2020-06-24Fix T78188: Sculpt mask glitching after using sculpt vertex colorsPablo Dobarro
The face sets color copy to the GPU was done outside of the loop, probably after a merge error in a rebase. Also, the default color was initialized using the wrong type. Reviewed By: sergey Maniphest Tasks: T78188 Differential Revision: https://developer.blender.org/D8106
2020-06-24Cleanup: unused struct membersCampbell Barton
2020-06-23Sculpt Vertex Colors: Initial implementationPablo Dobarro
Sculpt Vertex Colors is a painting system that runs inside sculpt mode, reusing all its tools and optimizations. This provides much better performance, easier to maintain code and more advanced features (new brush engine, filters, symmetry options, masks and face sets compatibility...). This is also the initial step for future features like vertex painting in Multires and brushes that can sculpt and paint at the same time. This commit includes: - SCULPT_UNDO_COLOR for undo support in sculpt mode - SCULPT_UPDATE_COLOR and PBVH flags and rendering - Sculpt Color API functions - Sculpt capability for sculpt tools (only enabled in the Paint Brush for now) - Rendering support in workbench (default to Sculpt Vertex Colors except in Vertex Paint) - Conversion operator between MPropCol (Sculpt Vertex Colors) and MLoopCol (Vertex Paint) - Remesher reprojection in the Voxel Remehser - Paint Brush and Smear Brush with color smoothing in alt-smooth mode - Parameters for the new brush engine (density, opacity, flow, wet paint mixing, tip scale) implemented in Sculpt Vertex Colors - Color Filter - Color picker (uses S shortcut, replaces smooth) - Color selector in the top bar Reviewed By: brecht Maniphest Tasks: T72866 Differential Revision: https://developer.blender.org/D5975
2020-06-22UI: Widget: Replace geometry by fragment shader drawingClément Foucault
This means all the antiailasing is done inside the fragment shader. We use a Signed Distance Field to draw the 2D rounded boxes. This ensure the best quality for AA. This reduce the averge Batch for widget to 16 verts instead of ~600 and reduce overshading a lot. Theme Emboss alpha and tria alpha needs to be changed after this refactor. The shadow drawing is left unchanged and still use geometry. Reviewed By: Severin Differential Revision: https://developer.blender.org/D7833
2020-06-22UV Editor: Fix Vertex Overlay color not being color managedClément Foucault
Could be backported to 2.83 LTS
2020-06-22Fix T62917 UV editor: Edge overlay not shown when edge overlay type is DashClément Foucault
Fix by changing the shader to always compute dash for uv and just change dash size to something really big for other overlay types.
2020-06-19EEEVEE: Object Motion Blur: Initial ImplementationClément Foucault
This adds object motion blur vectors for EEVEE as well as better noise reduction for it. For TAA reprojection we just compute the motion vector on the fly based on camera motion and depth buffer. This makes possible to store another motion vector only for the blurring which is not useful for TAA history fetching. Motion Data is saved per object & per geometry if using deformation blur. We support deformation motion blur by saving previous VBO and modifying the actual GPUBatch for the geometry to include theses VBOs. We store Previous and Next frame motion in the same motion vector buffer (RG for prev and BA for next). This makes non linear motion blur (like rotating objects) less prone to outward/inward blur. We also improve the motion blur post process to expand outside the objects border. We use a tile base approach and the max size of the blur is set via a new render setting. We use a background reconstruction method that needs another setting (Background Separation). Sampling is done using a fixed 8 dithered samples per direction. The final render samples will clear the noise like other stochastic effects. One caveat is that hair particles are not yet supported. Support will come in another patch. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7297
2020-06-18Cleanup: redundant parenthesisCampbell Barton
2020-06-12Fix T77586 EEVEE: UDIM image Texture doesn't Display properlyClément Foucault
2020-06-11Fix T77657: NVIDIA Quadro FX4800 crash on startupJeroen Bakker
Limit support for `GLEW_ARB_base_instance` to OpenGL 4.0 and higher. NVIDIA Quadro FX 4800 (TeraScale) report that they support GLEW_ARB_base_instance, but the driver does not support `GLEW_ARB_draw_indirect` as it has an OpenGL3 context what also matches the minimum needed requirements. We use `GLEW_ARB_draw_indirect` as a target for `glMapBuffer(Range)` what is part of the OpenGL 4 API. So better disable it when we don't have an OpenGL4 context. Note: fix should be ported to Blender 2.83 LTS Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7994
2020-06-10Fix T77560: Bone selection crashesCampbell Barton
The was caused by 8b347fc2cdc67 as the old BONESEL_NOSEL flag handled the -1 case (used for none). Instead of checking for -1, remove these elements from the array as selection code makes decisions based on the number of hits detected.
2020-06-08Fix T76273 Glitches caused by glCopyImageSubData on windows + intel gpuClément Foucault
We limit this fix to Windows Intel GPU whose driver reports at most GL 4.4 support. This limits the fix to the range of reported GPU.
2020-06-05Cleanup: spellingCampbell Barton
2020-06-04GPUTexture: Make GPU_texture_unbind_all faster on newer opengl versionClément Foucault
2020-06-04GPUShaderInterface: Reduce creation time on some drivers.Clément Foucault
Querying GL_UNIFORM_BLOCK_INDEX seems to be a problem on apple drivers.
2020-06-04GPUShaderInterface: Change builtin array to array of location/bindClément Foucault
This reduce the base size of the shaderinterface from 400 to 136 bytes. Improves memory usage and cache coherency when querying a lot of uniforms at once.
2020-06-04GPUShaderInterface: Add Builtin Uniform blocks queryClément Foucault
This makes the query of theses mandatory uniforms faster.
2020-06-03Cleanup: GPUMaterilal: Texture Node: Remove unused functionsClément Foucault
2020-06-03DRW: Always unbind texture after drawingClément Foucault
This fix issues with the image editor
2020-06-03GPUMaterial: Rework/simplify image texture filteringClément Foucault
This use the latest GPUTexture change to use the sampler state to avoid the pole issues instead of using GLSL hacks. This should fix T73942: Eevee mipmaps not respecting border mode. Note that this also fix some discrepencies between cycles and eevee (like boxmapping + clip).
2020-06-03GPUMaterial: Rework/simplify environment texture filteringClément Foucault
This use the latest GPUTexture change to use the sampler state to avoid the pole issues instead of using GLSL hacks.
2020-06-03GPUTexture: Fix samplers configuration typoClément Foucault
2020-06-03GPUMaterial: Add support for different sampler state per image samplerClément Foucault
This bridge between the new sampler state support from GPUTexture and draw material handling. The Sampler State is just the one from the texture for now. No change in logic.
2020-06-03GPUTexture: Add support for binding textures with custom sampler statesClément Foucault
2020-06-03GPUImmediate: Fix array uniform not workingClément Foucault
2020-06-03Cleanup: GPUTexture: Remove uneeded bindClément Foucault
2020-06-03DRW: Remove automatic bind locations and use hardcoded locations for texturesClément Foucault
This cleanup use the recent changes in shader interface to allow querying the binding location a texture should use. This should aleviate all issue we have with texture state change recompiling the shaders at drawtime. All binds are now treated like persistent binds and will stick until a new shading group bind a different shader. The only difference is that you can still change it with a new subgroup or same shader shgroup. Since unbinding can be heavy we only do it when using `--debug-gpu`.
2020-06-03GPUShaderInterface: Fix out of bound readsClément Foucault
2020-06-03GPU: Texture: Remove multibind trackingClément Foucault
This is more of a limitation than it is a solution.
2020-06-03GPUShader: Bind shader for interface creationClément Foucault
This will fix the bindpoints not being set at interface creation
2020-06-02Cleanup: unused argumentCampbell Barton
2020-06-02EEVEE: Refactor of eevee_material.cClément Foucault
These are the modifications: -With DRW modification we reduce the number of passes we need to populate. -Rename passes for consistent naming. -Reduce complexity in code compilation -Cleanup how renderpass accumulation passes are setup, using pass instances. -Make sculpt mode compatible with shadows -Make hair passes compatible with SSS -Error shader and lookdev materials now use standalone materials. -Support default shader (world and material) using a default nodetree internally. -Change BLEND_CLIP to be emulated by gpu nodetree. Making less shader variations. -Use BLI_memblock for cache memory allocation. -Renderpasses are handled by switching a UBO ref bind. One major hack in this patch is the use of modified pointer as ghash keys. This rely on the assumption that the keys will never overlap because the number of options per key will never be bigger than the pointed struct. The use of one single nodetree to support default material is also a bit hacky since it won't support concurent usage of this nodetree. (see EEVEE_shader_default_surface_nodetree) Another change is that objects with shader errors now appear solid magenta instead of shaded magenta. This is only because of code reuse purpose but could be changed if really needed. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7642
2020-06-02Cleanup: GPU: Remove GPU_shaderinterface_uniform_ensureClément Foucault
2020-06-02GPU: ShaderInterface: Refactor to setup all uniform at creation timeClément Foucault
This remove the complexity of queriying the locations at runtime and allows for more performance and upfront binding specifications. The benefit of doing everything at creation time is that we can assign binding points in a predictable order which is going to be somewhat the same for every similar shader. This also rewrite GPU_vertformat_from_shader to not use shaderface. This is to keep the shaderface simple. If it becomes necessary to not query the shader after creation (i.e: vulkan?) we could just create the vert format in advance at compilation for PyGPU shaders. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7879
2020-06-02GPU: Texture: Replace internal sampler state by explicit state objectClément Foucault
This makes it easier to track as well as allowing us to sample the same texture with different sampling parameters (which should fix the related T73942 in the long run). Reviewed By: brecht Differential Revision: https://developer.blender.org/D7831
2020-05-28Cleanup: GPU: Fix warningClément Foucault
2020-05-28GPU: Fix compilation warning about uninitialized valuesClément Foucault