Blender Git Commits

Blender Git "cycles-x" branch commits.

Page: 39 / 44

March 9, 2021, 15:17 (GMT)
Cycles: Remove remaining parts of feature kernels
March 9, 2021, 15:17 (GMT)
Cycles: Enable CUDA device by default

It was disabled by default for the initial pass of the split kernel.

Now it is supposed to be officially supported, so it is more convenient
to enable it back.
March 9, 2021, 14:39 (GMT)
Cycles: Make viewport navigation more interactive

Achieved by making render session be resettable more often than the
configured timeout. More detailed explanation of logic can be found
in the comment in `ready_to_reset()`.

Makes it so camera navigation in classroom scene gives feedback as
soon as possible.

The next logical trick on this topic would be to calculate resolution
divider based on the rendering performance, so that we can show most
detailed picture while navigating.
March 9, 2021, 14:32 (GMT)
Cycles: Make PathTraceWorkPixel work for GPU

Mainly for debugging purposes, as the performance of it is not suitable
for GPU rendering.
March 9, 2021, 14:32 (GMT)
Cycles: Comment out tile acquisition/stealing code

It will need to be implemented on a different level,
or not needed at all.
March 9, 2021, 14:32 (GMT)
Cycles: Remove buffers from Session

Those are owned by PathTrace, which will take care of slicing the buffer
for multi-device.
March 9, 2021, 14:32 (GMT)
Cycles: Remove split kernel queues

These queues are being implemented differently now.
March 9, 2021, 14:32 (GMT)
Cycles: Remove feature kernels

They were only implemented for OpenCL and they were actually blocking
viewport: it was not possible to navigate while system was waiting for
a fully-featured kernels.

With the new integrator this should be implemented differently.
March 9, 2021, 14:09 (GMT)
Merge branch 'master' into cycles-x
March 9, 2021, 13:04 (GMT)
Fix Cycles viewport flickering in run_cpu

Was caused by wrong state passed to scene update when there is a
delayed reset requested. The explanation in code comment should
be sufficient.

Technically, should also be fixed in upstream, but since there are
no known reports or repro cases is safer to test the fix here.
March 9, 2021, 13:04 (GMT)
Cycles: Implement PathTrace::cancel()

It is used for cancelling rendering as soon as possible, which is
required for fast session reset.

This change makes it so viewport navigation feels smoother.

In theory, now it is possible to reset render session as quickly as
possibly (and not only once 0.1sec as per default configuration).
March 5, 2021, 16:55 (GMT)
Fix various CUDA issues fater recent change

- Strict compiler warnings in the CUDADeviceQueue
- Missing install file for the megakernel
March 5, 2021, 15:32 (GMT)
Fix wrong samples stop criteria in Cycles path trace

With multiple samples scheduled at once the stop criteria needs to be
adjusted.

On a first glance seemed like things will be much faster, but no: the
way how scheduling worked was just requesting 0 samples for many loop
iterations. Still stupid but does not cause that measurable of speedup.
March 5, 2021, 15:31 (GMT)
Cycles: add megakernel for new integrator, to finish last path faster

Also always used for CPU since it's a bit faster.
March 5, 2021, 15:31 (GMT)
Cycles: use array of queued/terminated paths to schedule less work for GPU

Passing along a path index now that may be different than the work index.
March 5, 2021, 15:31 (GMT)
Cycles: return number of active paths from queue
March 5, 2021, 15:31 (GMT)
Cycles: track number of queued kernels with atomics on GPU

Also change logic to assume integrator state is zero initialized, so that
the init_from_camera will be able to check if a path is terminated.
March 5, 2021, 08:33 (GMT)
Cycles: Fix assert in tile manager

Was caused by the recent deletion of tile order.
Need to use tile order which is friendly for viewport rendering.
March 5, 2021, 08:33 (GMT)
Cycles: Bring progress report back

Is a bit weird mixture of Progress object and a callback.

The idea is that Progress object is used to communicate progress within
the current big tile from PathTrace to owner of the progress object.

The callback is called after that, so that the (in this case) Session
can assemble full status and report it to the interface.

On a positive side the cancel callback becomes unneeded.
March 4, 2021, 13:59 (GMT)
Cycles: Remove DeviceWorkTile

It is really the same as KernelWorkTile, especially after we remove the
buffer pointer (hopefully, in the future).

There is no need to have a duplicate entity, just use KernelWorkTIle in
the API. Simplifies some of initialization when passing work tile to an
actual kernels.

Opens possibility to schedule multiple samples to GPU.

Had to introduce min(uint, uint) and solve some introduced deduction
issues by mix of int and uint in the existing code.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021