Blender  V3.3
pass_accessor_gpu.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: Apache-2.0
2  * Copyright 2011-2022 Blender Foundation */
3 
4 #pragma once
5 
7 #include "kernel/types.h"
8 
10 
11 class DeviceQueue;
12 
13 /* Pass accessor implementation for GPU side. */
14 class PassAccessorGPU : public PassAccessor {
15  public:
17  const PassAccessInfo &pass_access_info,
18  float exposure,
19  int num_samples);
20 
21  protected:
23  const RenderBuffers *render_buffers,
24  const BufferParams &buffer_params,
25  const Destination &destination) const;
26 
27 #define DECLARE_PASS_ACCESSOR(pass) \
28  virtual void get_pass_##pass(const RenderBuffers *render_buffers, \
29  const BufferParams &buffer_params, \
30  const Destination &destination) const override;
31 
32  /* Float (scalar) passes. */
35  DECLARE_PASS_ACCESSOR(sample_count);
37 
38  /* Float3 passes. */
39  DECLARE_PASS_ACCESSOR(light_path);
41 
42  /* Float4 passes. */
44  DECLARE_PASS_ACCESSOR(cryptomatte);
45  DECLARE_PASS_ACCESSOR(shadow_catcher);
46  DECLARE_PASS_ACCESSOR(shadow_catcher_matte_with_shadow);
49 
50 #undef DECLARE_PASS_ACCESSOR
51 
53 };
54 
float float4[4]
DECLARE_PASS_ACCESSOR(sample_count)
DECLARE_PASS_ACCESSOR(light_path)
DECLARE_PASS_ACCESSOR(shadow_catcher)
DECLARE_PASS_ACCESSOR(motion)
DECLARE_PASS_ACCESSOR(float4)
DECLARE_PASS_ACCESSOR(mist)
DeviceQueue * queue_
DECLARE_PASS_ACCESSOR(float)
DECLARE_PASS_ACCESSOR(shadow_catcher_matte_with_shadow)
DECLARE_PASS_ACCESSOR(combined)
void run_film_convert_kernels(DeviceKernel kernel, const RenderBuffers *render_buffers, const BufferParams &buffer_params, const Destination &destination) const
DECLARE_PASS_ACCESSOR(depth)
DECLARE_PASS_ACCESSOR(float3)
PassAccessorGPU(DeviceQueue *queue, const PassAccessInfo &pass_access_info, float exposure, int num_samples)
DECLARE_PASS_ACCESSOR(cryptomatte)
#define CCL_NAMESPACE_END
Definition: cuda/compat.h:9
SyclQueue * queue
SyclQueue void void size_t num_bytes SyclQueue void const char void *memory_device_pointer KernelContext int kernel
ccl_gpu_kernel_postfix ccl_global float int int int int ccl_global const float int int int int int int int int int int int int num_samples
DeviceKernel