Blender Git Statistics -> Developers -> michael_jones

Michael Jones (michael_jones)

Total Commits : 12
Master Commits : 10
Branch Commits : 2
First Commit : October 14, 2021
Latest Commit : December 13, 2021

Commits by Month

DateNumber of Commits
December, 20216
November, 20215
October, 20211

Commit Distribution

PathNumber of Commits
master10
lineart-shadow2

Favourite Files

FilenameTotal Edits
kernel.h6
compat.h6
device.cpp4
compat.h4
bvh.cpp4
CMakeLists.txt4
compat.h3
queue.h3
queue.mm3
path.cpp3

File Changes

ActionTotalPer Commit
Added312.6
Modified27623.0

Code Changes

ActionTotalPer Commit
Lines Added851106.4
Lines Removed51163.9

Latest commits Feed

Revision e688c92 by Michael Jones (master)
December 13, 2021, 22:34 (GMT)
Fix T94022: Both options GPU/CPU checked under preferences cause viewport render crash. (ARM/Metal)

This fixes crash T94022 when selecting live viewport render with both GPU & CPU devices selected. It is caused by incorrect `KernelBVHLayout` assignment. Similar to `BVH_LAYOUT_MULTI_OPTIX` for Optix, this patch adds a `BVH_LAYOUT_MULTI_METAL` to correctly redirect to the correct Metal BVH layout type.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D13561
Revision e23b54a by Michael Jones (master)
December 8, 2021, 15:08 (GMT)
Cycles: Fix OS version warnings

This patch suppresses OS version warnings and hides currently unsupported Metal GPUs when enumerating devices.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D13506
Revision 4c7bcb1 by Michael Jones / YimingWu (lineart-shadow)
December 8, 2021, 06:53 (GMT)
Cycles: Metal host-side code

This patch adds the Metal host-side code:

- Add all core host-side Metal backend files (device_impl, queue, etc)
- Add MetalRT BVH setup files
- Integrate with Cycles device enumeration code
- Revive `path_source_replace_includes` in util/path (required for MSL compilation)

This patch also includes a couple of small kernel-side fixes:

- Add an implementation of `lgammaf` for Metal [Nemes, Gerg? (2010), "New asymptotic expansion for the Gamma function", Archiv der Mathematik](https://users.renyi.hu/~gergonemes/)
- include "work_stealing.h" inside the Metal context class because it accesses state now

Ref T92212

Reviewed By: brecht

Maniphest Tasks: T92212

Differential Revision: https://developer.blender.org/D13423
Revision f0ea8e7 by Michael Jones / YimingWu (lineart-shadow)
December 8, 2021, 06:53 (GMT)
Cycles: Fix Metal BVH crash caused by missing `WITH_METAL` define

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D13505
Revision 1552c92 by Michael Jones (master)
December 7, 2021, 21:23 (GMT)
Cycles: Fix Metal BVH crash caused by missing `WITH_METAL` define

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D13505
Revision 9558fa5 by Michael Jones (master)
December 7, 2021, 15:52 (GMT)
Cycles: Metal host-side code

This patch adds the Metal host-side code:

- Add all core host-side Metal backend files (device_impl, queue, etc)
- Add MetalRT BVH setup files
- Integrate with Cycles device enumeration code
- Revive `path_source_replace_includes` in util/path (required for MSL compilation)

This patch also includes a couple of small kernel-side fixes:

- Add an implementation of `lgammaf` for Metal [Nemes, Gerg? (2010), "New asymptotic expansion for the Gamma function", Archiv der Mathematik](https://users.renyi.hu/~gergonemes/)
- include "work_stealing.h" inside the Metal context class because it accesses state now

Ref T92212

Reviewed By: brecht

Maniphest Tasks: T92212

Differential Revision: https://developer.blender.org/D13423
Revision f613c4c by Michael Jones (master)
November 29, 2021, 15:20 (GMT)
Cycles: MetalRT support (kernel side)

This patch adds MetalRT support to Cycles kernel code. It is mostly additive in nature or confined to Metal-specific code, however there are a few areas where this interacts with other code:

- MetalRT closely follows the Optix implementation, and in some cases (notably handling of transforms) it makes sense to extend Optix special-casing to MetalRT. For these generalisations we now have `__KERNEL_GPU_RAYTRACING__` instead of `__KERNEL_OPTIX__`.
- MetalRT doesn't support primitive offsetting (as with `primitiveIndexOffset` in Optix), so we define and populate a new kernel texture, `__object_prim_offset`, containing per-object primitive / curve-segment offsets. This is referenced and applied in MetalRT intersection handlers.
- Two new BVH layout enum values have been added: `BVH_LAYOUT_METAL` and `BVH_LAYOUT_MULTI_METAL_EMBREE` for XPU mode). Some host-side enum case handling has been updated where it is trivial to do so.

Ref T92212

Reviewed By: brecht

Maniphest Tasks: T92212

Differential Revision: https://developer.blender.org/D13353
Revision 98a5c92 by Michael Jones (master)
November 29, 2021, 14:56 (GMT)
Cycles: Metal readiness: Specify DeviceQueue::enqueue arg types

This patch adds new arg-type parameters to `DeviceQueue::enqueue` and its overrides. This is in preparation for the Metal backend which needs this information for correct argument encoding.

Ref T92212

Reviewed By: brecht

Maniphest Tasks: T92212

Differential Revision: https://developer.blender.org/D13357
Revision eb7827e by Michael Jones (master)
November 26, 2021, 13:58 (GMT)
Cycles: Fix film convert address space mismatch on Metal

This patch fixes an address space mismatch in the film convert kernels on Metal. The `film_get_pass_pixel_...` functions take a `ccl_private` result pointer, but the film convert kernels pass a `ccl_global` memory pointer. Specialising the pass-fetch functions with templates results in compilation errors on Visual Studio, so instead this patch just adds an intermediate local on Metal.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D13350
Revision d1f944c by Michael Jones / Brecht Van Lommel (master)
November 18, 2021, 13:38 (GMT)
Cycles: declare constants at program scope on Metal

MSL requires that constant address space literals be declared at program
scope. This patch moves the `blackbody_table_r/g/b` and `cie_colour_match`
constants into separate files so they can be declared at the appropriate scope.

Ref T92212

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

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