Blender Git Statistics -> Developers -> pmoursnv

Patrick Mours (pmoursnv)

Total Commits : 149
Master Commits : 123
Branch Commits : 26
First Commit : August 26, 2019
Latest Commit : December 8, 2021

Commits by Month

DateNumber of Commits
December, 20214
November, 20218
October, 20213
September, 20212
August, 20210
July, 20211
June, 20211
May, 20211
April, 202115
March, 20212
February, 20217
January, 202112
December, 20206
November, 20206
October, 20204
September, 20201
August, 20200
July, 20209
June, 20204
May, 20202
April, 20202
March, 20202
February, 202015
January, 20209
December, 20191
November, 20198
October, 20195
September, 20195
August, 201914

Commit Distribution

PathNumber of Commits
master123
cycles-x14
blender-v2.83-release6
tmp-2.83-cycles-rtx3-kernels5
vr_scene_inspection2
lineart-shadow2
blender-v2.93-release1

Favourite Files

FilenameTotal Edits
device_optix.cpp41
device_impl.cpp17
device_cuda_impl.cpp14
CMakeLists.txt13
device_multi.cpp12
session.cpp11
properties.py11
kernel.cu9
ui.py9
device_impl.h8

File Changes

ActionTotalPer Commit
Added180.1
Modified5863.9
Deleted30.0

Code Changes

ActionTotalPer Commit
Lines Added7 62660.0
Lines Removed4 83538.1

Latest commits Feed

Revision defd202 by Patrick Mours / YimingWu (lineart-shadow)
December 8, 2021, 06:53 (GMT)
Cycles: Reintroduce device-only memory handling that got lost in Cycles X merge

Somehow only a part of rBf4f8b6dde32b0438e0b97a6d8ebeb89802987127 ended up in
Cycles X, causing the issue that commit fixed, "OPTIX_ERROR_INVALID_VALUE" when the
system is out of memory, to show up again.
This adds the missing changes to fix that problem.

Maniphest Tasks: T93620

Differential Revision: https://developer.blender.org/D13488
Revision 2b49336 by Patrick Mours / YimingWu (lineart-shadow)
December 8, 2021, 06:53 (GMT)
Fix T92308: OptiX denoising fails with high resolutions

The OptiX denoiser does have an upper limit as to how many pixels it can denoise at once, so
this changes the OptiX denoising process to use tiles for high resolution images.
The OptiX SDK does have an utility function for this purpose, so changes are minor, adjusting
the configured tile size and including enough overlap.

Maniphest Tasks: T92308

Differential Revision: https://developer.blender.org/D13436
Revision e14f8c2 by Patrick Mours (master)
December 7, 2021, 17:50 (GMT)
Cycles: Reintroduce device-only memory handling that got lost in Cycles X merge

Somehow only a part of rBf4f8b6dde32b0438e0b97a6d8ebeb89802987127 ended up in
Cycles X, causing the issue that commit fixed, "OPTIX_ERROR_INVALID_VALUE" when the
system is out of memory, to show up again.
This adds the missing changes to fix that problem.

Maniphest Tasks: T93620

Differential Revision: https://developer.blender.org/D13488
Revision 1766549 by Patrick Mours (master)
December 2, 2021, 11:10 (GMT)
Fix T92308: OptiX denoising fails with high resolutions

The OptiX denoiser does have an upper limit as to how many pixels it can denoise at once, so
this changes the OptiX denoising process to use tiles for high resolution images.
The OptiX SDK does have an utility function for this purpose, so changes are minor, adjusting
the configured tile size and including enough overlap.

Maniphest Tasks: T92308

Differential Revision: https://developer.blender.org/D13436
Revision 7a97e92 by Patrick Mours (master)
November 24, 2021, 15:33 (GMT)
Cycles: Add support for building with OptiX 7.4 SDK and use built-in catmull-rom curve type

Some enum names were changed/removed in OptiX 7.4, so some changes are necessary to
make things compile still.
In addition, OptiX 7.4 also adds built-in support for catmull-rom curves, so it is no longer
necessary to convert the catmull-rom data to cubic bsplines first, and has endcaps disabled
by default now, so can remove the special handling via any-hit programs that filtered them
out before.

Differential Revision: https://developer.blender.org/D13351
Revision 809ae82 by Patrick Mours (master)
November 12, 2021, 18:00 (GMT)
Merge branch 'blender-v3.0-release'
Revision 9d0d4b8 by Patrick Mours (master)
November 12, 2021, 17:59 (GMT)
Fix T93029: OptiX denoising artifacts at high sample counts in specific scenes

Partially reverts commit rB440a3475b8f5410e5c41bfbed5ce82771b41356f because
"optixDenoiserComputeIntensity" does not currently support input images that are not packed (the
"pixelStrideInBytes" field is not zero). As a result the intensity calculation would take into account
data from other passes in the image, some of which was scaled by the number of samples still and
therefore produce widely incorrect results that then caused artifacts in the denoised image.

Maniphest Tasks: T93029
Revision f565620 by Patrick Mours (master)
November 10, 2021, 14:49 (GMT)
Fix T92985: CUDA errors with Cycles film convert kernels

rB3a4c8f406a3a3bf0627477c6183a594fa707a6e2 changed the macros that create the film
convert kernel entry points, but in the process accidentally changed the parameter definition
to one of those (which caused CUDA launch and misaligned address errors) and changed the
implementation as well. This restores the correct implementation from before.

In addition, the `ccl_gpu_kernel_threads` macro did not work as intended and caused the
generated launch bounds to end up with an incorrect input for the second parameter (it was
set to "thread_num_registers", rather than the result of the block number calculation). I'm
not entirely sure why, as the macro definition looked sound to me. Decided to simply go with
two separate macros instead, to simplify and solve this.

Also changed how state is captured with the `ccl_gpu_kernel_lambda` macro slightly, to avoid
a compiler warning (expression has no effect) that otherwise occurred.

Maniphest Tasks: T92985

Differential Revision: https://developer.blender.org/D13175
Revision faeb2cc by Patrick Mours (master)
November 9, 2021, 13:49 (GMT)
Merge branch 'blender-v3.0-release'
Revision 440a347 by Patrick Mours (master)
November 9, 2021, 13:49 (GMT)
Cycles: Improve OptiX denoising with dark images and fix crash when denoiser is destroyed

Adds a pass before denoising that calculates the intensity of the image, which can be
passed into the OptiX denoiser for more optimal results for very dark or very bright images.

In addition this also fixes a crash that sometimes occurred on exit. The OptiX denoiser object
has to be destroyed before the OptiX device context object (since it references that). But in
C++ the destructor function of a class is called before its fields are destructed, so
"~OptiXDevice" was always called before "OptiXDevice::~Denoiser" and therefore
"optixDeviceContextDestroy" was called before "optixDenoiserDestroy", hence the crash.

Differential Revision: https://developer.blender.org/D13160

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