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-19Cleanup: format, reduce line length & strip trailing spaceCampbell Barton
2022-05-19DRW: GPU wrappers: Fix resize routines for StorageArrayBufferClément Foucault
Resizing was not resizing the `data_` buffer. Also use `power_of_2_max_u`.
2022-05-19DRW: Wrappers: Use runtime length of the buffer instead of the initial lenClément Foucault
This could have produce errors especially in the iterators.
2022-05-19DRW: Replace StorageFlexibleBuffer with explicit `get_or_resize()`Clément Foucault
This is to avoid hiding resize inside the `[]` operator.
2022-05-19DRW: Fix DRW_shgroup_buffer_texture namingClément Foucault
We do not need `_ex` suffix.
2022-05-17Merge branch 'blender-v3.2-release'Bastien Montagne
2022-05-17Fix T98052: Eevee / Workbench background render crash with GPU subdivisionBrecht Van Lommel
The problem is that depsgraph evaluation happens before the OpenGL context is initialized, and so modifier evaluation happens without GPU subdivision. Later the BKE_subsurf_modifier_can_do_gpu_subdiv test in the draw code gives a different result. This just checks if the mesh has information for GPU subdivision in the draw code, and if so uses it. This is only set if the test for supported GPU subdivision passes in the modifier evaluation. Additionally it may be good to perform OpenGL context initialization earlier so background render can take advantage of GPU subdivision, but this is more complicated. Differential Revision: https://developer.blender.org/D14969
2022-05-17DRW: Add DRW_view_camtexco_get()Clément Foucault
2022-05-17DRWWrapper: Add StorageFlexibleBufferClément Foucault
This buffer resizes on access.
2022-05-17DRW: Add SwapChain container to allow easier usage of double bufferingClément Foucault
The template also takes the length of the chain to allow triple buffering.
2022-05-17Cleanup: formatCampbell Barton
2022-05-15Cleanup: Clang tidyHans Goudey
2022-05-15DRW: Remove accidentaly commited stray global variableClément Foucault
2022-05-15GPUVertBuf: Add support for binding as buffer textureClément Foucault
This is often needed and somehow cumbersome to set up. This will allow some code simplifications.
2022-05-15Cleanup: Fix compile warnings on windowsHans Goudey
2022-05-14Cleanup: Further use of const for retrieved custom data layersHans Goudey
Similar to cf69652618fefcd22b2cde9a2.
2022-05-13Cleanup: Use const when retrieving custom data layersHans Goudey
Knowing when layers are retrieved for write access will be essential when adding proper copy-on-write support. This commit makes that clearer by adding `const` where the retrieved data is not modified. Ref T95842
2022-05-13Merge branch 'blender-v3.2-release'Sergey Sharybin
2022-05-13Fix T97330: UV points missing with some modifiersKévin Dietrich
When extracting UV point indices, only the vertex points coming from the original geometry should be drawn. For this, the routines (for subdivision and coarse meshes) would only consider a vertex to be real if the extraction type is `MAPPED`, and that an origin index layer on the vertices exist with a valid origin index for the current vertex. However, if the extraction type is `MESH`, which can happen with for example an empty Geometry Node modifier, or with deferred subdivision, this would consider every vertex to not be "real" and therefore hidden from the UV editor. This reworks the condition for "realness" to also consider a vertex to be real if there is no origin layer on the vertices. The check on the extraction type is removed as it becomes redundant. This only modifies the check in the UV data extraction for point indices, however similar checks exist throughout the extraction code, these will be dealt with separately in master. Differential Revision: https://developer.blender.org/D14773
2022-05-13Cleanup: spelling in comments, capitalize tagsCampbell Barton
Also add missing task-ID reference & remove colon after \note as it doesn't render properly in doxygen.
2022-05-12DRW: Fix Compilation on OSXClément Foucault
Caused by rBe4bb898e40ee
2022-05-12DRW: Port draw_shader to C++Clément Foucault
2022-05-12DRW: Port draw_hair to C++Clément Foucault
2022-05-11Merge branch 'blender-v3.2-release'Jeroen Bakker
2022-05-11Fix T97895: Eevee support for Geometry Nodes Color Attributes.Jeroen Bakker
Geometry nodes can generate color attributes that aren't on point or corner domain. When not found in these domains it will be processed as a common attribute.
2022-05-11Merge branch 'blender-v3.2-release'Jeroen Bakker
2022-05-11Fix T97173: Color Attributes shading turns black after switching mode.Jeroen Bakker
Sculpt colors tagged the custom data as already created (cd_used), but should have been tagged as being requested (cd_needed).
2022-05-11Cleanup: use '_num' / '_count' suffix instead of '_ct'Campbell Barton
Use num & count (for counters), in drawing code, see: T85728.
2022-05-11Cleanup: use '_num' suffix, mostly for curves & spline codeCampbell Barton
Replace tot/amount & size with num, in keeping with T85728.
2022-05-11Cleanup: use '_num' suffix instead of '_size' for CurveGeometryCampbell Barton
Follow conventions from T85728.
2022-05-10DrawManager: Hide lock acquire behind experimental feature.Jeroen Bakker
The acquire locking of the draw manager introduced other issues. The current implementation was a hacky solution as we know that the final solution is something totally different {T98016}. Related issues: * {T97988} * {T97600}
2022-05-10DrawManager: Hide lock acquire behind experimental feature.Jeroen Bakker
The acquire locking of the draw manager introduced other issues. The current implementation was a hacky solution as we know that the final solution is something totally different {T98016}. Related issues: * {T97988} * {T97600}
2022-05-09Cleanup: simplify filling curve batch cache buffersJacques Lucke
Write to arrays directly instead of using the "step" utility.
2022-05-09Cleanup: use different hardcoded shape to make the root/tip radius usefulJacques Lucke
Those settings are intended to be removed at some point, but for now they are still needed because the radius attribute isn't supported.
2022-05-09Fix T97853: Crash with edit mode X-ray and subdivisionHans Goudey
The mesh drawing code used a different mesh to check whether or not to draw face dots and to actually retrieve them. The fix is moving the responsibility of determining whether to use subsurf face dots to the creation of `MeshRenderData` where the mesh used for drawing is known, rather than doing it at a higher level. Differential Revision: https://developer.blender.org/D14855
2022-05-09Fix T97853: Crash with edit mode X-ray and subdivisionHans Goudey
The mesh drawing code used a different mesh to check whether or not to draw face dots and to actually retrieve them. The fix is moving the responsibility of determining whether to use subsurf face dots to the creation of `MeshRenderData` where the mesh used for drawing is known, rather than doing it at a higher level. Differential Revision: https://developer.blender.org/D14855
2022-05-06Merge branch 'blender-v3.2-release'Sergey Sharybin
2022-05-06DrawManager: Make instance data persistent.Jeroen Bakker
When resizing a viewport all engine instance data was cleared. This wasn't the intended design and lead to performance regressions in the image engine. This patch makes sure that the instance data isn't cleared when the viewport size changes. When using instance data, draw engines are responsible to update the textures accordingly. This could also reduce flickering/stalling when resizing the viewport in eevee-next. Fixes T95428. Reviewed By: fclem Maniphest Tasks: T95428 Differential Revision: https://developer.blender.org/D14874
2022-05-06Cleanup: spelling in comments, use doxygen commentsCampbell Barton
2022-05-05Merge branch 'blender-v3.2-release'Clément Foucault
2022-05-05DRW: Hair: Fix shader compilation of transform feedback shaderClément Foucault
Introduced by rBadbe71c3faba.
2022-05-05Cleanup: spelling in commentsCampbell Barton
2022-05-05Fix T97835: crash when creating hair particle system on MacGermano Cavalcante
Recently `gpu_shader_3D_smooth_color_frag.glsl` had the uniform declarations removed. For shaders without `ShaderCreateInfo` that require this source this results in the error: ``` ERROR (gpu.shader): hair_refine_shader_transform_feedback_workaround_create FragShader: | 54 | fragColor = finalColor; | | gpu_shader_3D_smooth_color_frag.glsl:5:0: Error: Use of undeclared identifier 'fragColor' | gpu_shader_3D_smooth_color_frag.glsl:5:0: Error: Use of undeclared identifier 'finalColor' | 55 | fragColor = blender_srgb_to_framebuffer_space(fragColor); | | gpu_shader_3D_smooth_color_frag.glsl:6:0: Error: Use of undeclared identifier 'fragColor' | gpu_shader_3D_smooth_color_frag.glsl:6:0: Error: Use of undeclared identifier 'fragColor' ``` So port that shader to use `ShaderCreateInfo`.
2022-05-04Fix T96845: artifacts with GPU subdivision and mirror modifierKévin Dietrich
The coarse polygon count was set to the one of the BMesh instead of the the one of the mesh used for subdivision, which caused the compute shaders to output wrong data.
2022-05-04Cleanup: quiet strict-prototypes warningCampbell Barton
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-03Fix T96338: GPU subdiv crash switching to UV editingKévin Dietrich
The crash is caused as the data for the UV editor is requested before the data for the mesh as a separate draw update. Since building the UV stretch angle buffer requires the position buffer, the latter is not created yet in this case. To fix this, create a local position buffer from the subdivision data. An alternate fix was considered to remove the dependency on the position buffer by interpolating on the GPU the coarse stretch angle buffer but this did work. Maybe this will be revisited.
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-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-01Fix T97545 DRW: Crash cause by invalid `"` char in glsl sourceClément Foucault
Some old compiler do not like this character even if inside an `#error` directive.