Blender Git Statistics -> Developers -> sergey

Sergey Sharybin (sergey)

Total Commits : 12 741
Master Commits : 10 022
Branch Commits : 2 719
First Commit : March 5, 2010
Latest Commit : September 17, 2021 (Yesterday)

Commits by Month

DateNumber of Commits
September, 202157
August, 202165
July, 202180
June, 202169
May, 202182
April, 2021142
March, 2021115
February, 202163
January, 202153
December, 202013
November, 202066
October, 202016
September, 202012
August, 202025
July, 202057
June, 202043
May, 2020107
April, 202034
March, 202055
February, 202043
January, 202050
December, 201915
November, 201962
October, 201964
September, 201957
August, 20194
July, 201998
June, 201982
May, 2019100
April, 201952
March, 201972
February, 201991
January, 2019105
December, 201896
November, 2018126
October, 201816
September, 2018138
August, 201885
July, 201874
June, 2018109
May, 2018147
April, 201889
March, 201879
February, 201878
January, 2018166
December, 2017200
November, 2017192
October, 2017128
September, 201779
August, 201794
July, 2017126
June, 201779
May, 2017108
April, 2017137
March, 2017116
February, 2017137
January, 2017277
December, 201638
November, 201693
October, 201697
September, 2016143
August, 201680
July, 2016102
June, 2016173
May, 2016179
April, 2016105
March, 201691
February, 2016113
January, 2016120
December, 201582
November, 201578
October, 201586
September, 201571
August, 201592
July, 2015178
June, 2015171
May, 2015182
April, 2015146
March, 2015173
February, 2015185
January, 2015181
December, 2014167
November, 2014111
October, 2014177
September, 201473
August, 201481
July, 2014135
June, 201493
May, 201476
April, 201475
March, 201472
February, 201478
January, 201496
December, 201384
November, 201371
October, 201383
September, 201376
August, 2013161
July, 201389
June, 201358
May, 201392
April, 2013104
March, 201381
February, 201388
January, 201378
December, 201270
November, 2012128
October, 201298
September, 2012146
August, 2012166
July, 2012194
June, 2012198
May, 2012114
April, 201282
March, 201293
February, 2012135
January, 201295
December, 2011115
November, 2011142
October, 201184
September, 2011138
August, 2011118
July, 2011117
June, 201148
May, 201127
April, 201133
March, 201112
February, 201135
January, 201119
December, 201023
November, 201026
October, 201018
September, 201012
August, 20104
July, 20109
June, 201014
May, 201010
April, 20105
March, 201030

Commit Distribution

PathNumber of Commits
master10022
hair_object1316
temp-outliner-visibility1304
collada2.81240
blender2.8_snap_gizmo1173
interactive_physics1150
temp-ui-layout-2.81150
temp-select-axis1019
temp-benchmark1000
benchmark1000
hair_guides_grooming992
hair_guides992
soc-2018-cycles-volumes991
soc-2018-bevel981
temp-udim-images975
tmp_hair_curves952
temp-eeveelightcache944
temp-sybren-cow-ocean941
temp-greasepencil-vfx941
temp-tab_drag_drop928
temp-dynamic-overrides927
temp-greasepencil-object-stacksplit905
TEMP-UI-DECOR895
temp-flexible-spacing872
ui_layout_gridflow871
temp-keymap-changes862
tmp-CollectionsAnim831
tmp-b28-motionpath-drawing831
temp-keymap-save806
tmp-COW_InsertKeyframe_Fix801
experimental_gp_weight801
temp-unified-collections801
temp-sybren-particles799
topbar776
tmp-TimelineHeaderButtonsStretching776
temp-modifier-rm-cddm763
temp-sybren-modifier-nonmesh755
temp-sybren-meshdeform733
blender2.8-snapping_with_occlusion730
tmp-static-override-insertion728
blender2.8-workbench713
temp-object-multi-mode645
temp-drawcontext601
temp-render-depsgraph601
temp-scene-obedit-remove589
temp-workspace-object-mode-removal587
temp-workspace-addons582
cycles-x567
temp-workspace_mode546
fracture_modifier-master491
fracture_modifier491
temp-fracture-modifier-2.8491
temp-workspace_active_object483
id_override_static468
temp-group-collections356
depsgraph_refactor312
custom-manipulators280
blender-v2.78c-release277
blender-v2.78b-release261
temp-workspace-changes260
strand_editmode244
opensubdiv-modifier192
temp-ssr156
tmp-debug-filebrowser156
gooseberry142
gooseberry_farm131
temp_motionpaths123
temp-lightprobe-rename118
blender-v2.79b-release110
blender-v2.79a-release103
workspaces103
soc-2011-tomato98
compositor-201695
cycles_kernel_split84
soc-2013-depsgraph_mt83
blender-v2.78-release81
temp-cycles-draw-manager81
cycles_bvh52
blender-v2.76-release43
depsgraph_cleanup41
blender-v2.76a-release39
imm_port_wm_playanim36
transform-manipulators36
blender-v2.72-release34
temp-depsgraph-layers33
blender-v2.75-release33
cycles_hair_bvh32
blender-v2.77-release26
temp-lanpr-cleanup225
temp-lanpr-cleanup24
libmv_prediction23
temp-workspace-multi-window23
blender-v2.74-release22
cycles_memory_experiments21
temp-layers-ui-table20
alembic20
clay-engine20
temp-blender2.8-stable20
blender-v2.79-release20
render-layers20
blender-v2.73-release17
opensubdiv_compare17
codesign16
temp-T7883516
uiTable16
temp_hair_modifiers16
temp-blender-2.81-release-with-wrong-merge16
cycles_panorama_experiments16
cycles_point_density15
texture_nodes_refactor12
buildbot_linux_cmake12
asset-engine11
soc-2017-normal-tools11
temp_bmesh_multires11
asset-engine--archived11
temp-cxx-upgrade10
greasepencil-experimental10
greasepencil-refactor9
temp-gpencil-eval9
greasepencil-object9
lineart-shadow9
blender-v2.83-release9
tmp-2.83-cycles-rtx3-kernels9
soc-2019-npr9
soc-2013-paint8
temp-clang-format7
temp-lanpr-staging7
input_method_editor_partial_support7
input_method_editor7
temp-lineart-contained7
temp_constraint_volume6
cycles_ctests6
blender-v2.82-release5
tracking_proportional_editing5
cmake_libmv_reorganize5
cycles_unbiased_volumes4
testbuild4
temp_custom_loop_normals4
tracking_average4
blender-v2.80-release4
cycles_texture_cache4
soc-2021-porting-modifiers-to-nodes_all4
soc-2021-porting-modifiers-to-nodes-decimate4
lineart-bvh4
tmp-T806034
codesign_error_tracker4
vr_scene_inspection3
cycles_memory3
cycles_tricks3
openvdb3
HMD_viewport3
soc-2016-multiview3
blender-v2.713
sculpt-dev3
soc-2016-cycles_images3
pbr-viewport2
blender-v2.81-release2
viewport_generic_engine2
layers2
temp-openjpeg212
layer-manager2
temp-select-pick2
gtest-testing2
cycles_split_kernel2
hair_system2
temp_manipulators_core2
temp-blender2.82
tracking_scopes2
hair_immediate_fixes2
temp_hair_flow2
tracking_proportional_editing_v21
temp-precompiled-linux1
cycles_bvh81
temp_cycles_split_kernel1
overscan1
temp-curve-draw1
alembic_pointcache1
id_copy_refactor1
soc-2021-uv-editor-improvements1
blender2.71
temp-openjpeg1
temp_merge_gooseberry_hair1
blender-v2.71-rc21
soc-2011-garlic1
blender-v2.93-release1
blender-v2.91-release1
bmesh-boolean-experiment1
soc-2021-curves1
cycles_camera_nodes1
soc-2013-sketch_mesh1
temp-cycles-denoising1

Favourite Files

FilenameTotal Edits
deg_builder_relations.cc338
tracking.c337
deg_builder_nodes.cc262
readfile.c260
tracking_ops.c246
scene.c212
space_clip.py208
session.cpp188
movieclip.c187
depsgraph_tag.cc180

File Changes

ActionTotalPer Commit
Added4 6030.4
Modified42 5423.3
Deleted2 4290.2

Code Changes

ActionTotalPer Commit
Lines Added389 03034.0
Lines Removed220 73719.3

Latest commits Feed

Revision adccc4c by Sergey Sharybin (cycles-x)
1 day and 7 hours ago
Fix Cycles X crash viewing render result prior rendering
Revision adf85cd by Sergey Sharybin (cycles-x)
1 day and 7 hours ago
Cycles X: Real memory saving when using tiled rendering

The general idea is to delay reading EXR files for until after all
view layers are rendered. Once they are all rendered, BlenderSession
frees up as much memory as possible, and initiates processing of the
on-disk files.

The processing includes reading the file, optional denoising of the
full frame (if the denoising is enabled), and writing the result via
the write callback.

The processing is done as a state-machine which routes specific calls
to a full-frame processing, which allows to re-use same tile write
callback in the software integration.

In order to be able to know which view layer and render view is being
written the API has been extended to write layer and view names. Done
via BufferParams, as layer and view concepts are quite typical for the
EXR files.

The BufferParams also contains all fields needed for buffers access
outside of the scene graph.

Differential Revision: https://developer.blender.org/D12503
Revision e5f51c6 by Sergey Sharybin (cycles-x)
1 day and 8 hours ago
Fix wrong display when rendering multiple view layers in Cycles X

The issue was that the texture used by GPUDisplay was never cleared and
was only used for partial updates.

The actual reasoning of that is a bit more tricky than it looks on a
first glance since the GPUDisplay was re-created together with session
via session_reset so one would think it is weird to have a texture from
previous view layer to appear in the new GPUDisplay. Probably caused by
the fact that OpenGL is the same for all view layers, and texture ID is
happened to be the same.

Anyhow, the way texture is created is considered to have an undefined
behavior by the standard when is attempted to be used without explicit
data assignment.

This change makes it so new texture is always guaranteed to be zeroed
and that the GPU display is cleared when rendering multiple views from
within the same session.

The clearing is done by a GPUDisplay subclass, as the parent does not
know details of how to perform the zeroing. For the CPU the zeroing is
done on a mapped memory, as it makes it easy and does not require any
extra OpenGL requirements.

For the graphics interop things a bit more difficult as attempts to map
texture will make graphics interop to fail out (it really wants to be
an exclusive thing which takes care of the memory mapping). So for the
graphics interop clearing is done when memory is mapped by the interop
implementation.

Differential Revision: https://developer.blender.org/D12514
Revision e597e6a by Sergey Sharybin (cycles-x)
1 day and 8 hours ago
Fix persistent data not allowing to change sample count and time limit

The root cause was that `session->params` were never updated to the new
parameters.

Made it so `session->reset()` will make sure the session is fully up to
date with the desired parameters.

Investigation by @dingto, code by self.

Differential Revision: https://developer.blender.org/D12515
Revision d80d23e by Sergey Sharybin (cycles-x)
1 day and 8 hours ago
Fix pass accessor with 0 samples

Avoid division by zero when calculating scale, and avoid multiplication
by inf later on.

The pixel processing functions are changed so that they return fully
transparent pixel for pixels where number of samples is 0. This allows
to have matched behavior of non-finished tiles with master, without
relying on non-finite math.

The extra condition when calculating scale is inevitable, and hopefully
the pixel processing function's if statement gets folded into it as
well ()due to force-inline).

Differential Revision: https://developer.blender.org/D12518
Revision 85f060d by Sergey Sharybin (cycles-x)
1 day and 8 hours ago
Fix race condition between draw and render threads

Caused crashes like the one William was fixing in the D12498, or the
crash when rendering multiple view layers.

Need to guarantee that the render engine is not freed during drawing,
and that the external engine is not in the middle of re-allocation due
to `update()` which might cause session reset (happens in Cycles).

Had to introduce a separate lock. The reason for this comes from the
fact that we need to acquire the engine early on in the draw manager,
and release it only when drawing is done. However, some other engines
(like overlay) might be requesting ImBuf for the image space, so that
they know dimensions. Such acquisition is guarded by the resultmutex.
This means reusing `resultmutex` for the `RenderEngine::draw()` would
cause a recursive lock.

Not entirely happy with implicit release in the external engine code,
but not sure there is an existing way of making it explicit without
introducing new draw engine callback.

Differential Revision: https://developer.blender.org/D12521
Revision 5b92af3 by Sergey Sharybin (cycles-x)
September 16, 2021, 11:00 (GMT)
Fix invalid address error in Cycles X GPUDisplay update

Make sure no display update happens after full buffer was written.
Makes it possible to free memory used by path trace works without
causing issues.
Revision b537b28 by Sergey Sharybin (cycles-x)
September 16, 2021, 09:23 (GMT)
Cleanup: Naming
Revision d7ecd44 by Sergey Sharybin (cycles-x)
September 15, 2021, 18:04 (GMT)
Fix missing mutex lock for viewport OpenGL context

A mistake in D12468: the viewport uses GHOST to operate on contexts,
bypassing draw manager state,

Differential Revision: https://developer.blender.org/D12505
Revision 48d6a49 by Sergey Sharybin (cycles-x)
September 15, 2021, 17:52 (GMT)
Cleanup: Typo fix in a comment

MiikaHweb - Blender Git Statistics v1.06
By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2021