Commit: f1feff40c0aa30615fdca48016e59ace2785dc26
Author: Jeffrey Liu
Date:   Tue Jun 21 00:38:32 2022 -0400
Branches: soc-2022-many-lights-sampling
https://developer.blender.org/rBf1feff40c0aa30615fdca48016e59ace2785dc26

Fix: Cycles light tree kernel compiler errors

===================================================================

M       intern/cycles/kernel/integrator/shade_surface.h
M       intern/cycles/kernel/light/light_tree.h

===================================================================

diff --git a/intern/cycles/kernel/integrator/shade_surface.h 
b/intern/cycles/kernel/integrator/shade_surface.h
index 2016c00434c..78ad9dedad8 100644
--- a/intern/cycles/kernel/integrator/shade_surface.h
+++ b/intern/cycles/kernel/integrator/shade_surface.h
@@ -115,7 +115,7 @@ ccl_device_forceinline void 
integrate_surface_direct_light(KernelGlobals kg,
     float light_u, light_v;
     path_state_rng_2D(kg, rng_state, PRNG_LIGHT_U, &light_u, &light_v);
 
-    if (kg->__data.integrator.use_light_tree) {
+    if (kg->data.integrator.use_light_tree) {
       if (!light_tree_sample_from_position(
               kg, rng_state, light_u, light_v, sd->time, sd->P, sd->N, bounce, 
path_flag, &ls)) {
         return;
diff --git a/intern/cycles/kernel/light/light_tree.h 
b/intern/cycles/kernel/light/light_tree.h
index ebc6d8280a2..788c2ccf90d 100644
--- a/intern/cycles/kernel/light/light_tree.h
+++ b/intern/cycles/kernel/light/light_tree.h
@@ -77,8 +77,8 @@ ccl_device float light_tree_emitter_importance(KernelGlobals 
kg,
                                                const float3 N,
                                                int emitter_index)
 {
-  ccl_global const KernelLightTreeEmitter *kemitter = 
&kernel_tex_fetch(__light_tree_emitters,
-                                                                        
emitter_index);
+  ccl_global const KernelLightTreeEmitter *kemitter = 
&kernel_data_fetch(light_tree_emitters,
+                                                                         
emitter_index);
 
   /* Convert the data from the struct into float3 for calculations. */
   const float3 bbox_min = make_float3(kemitter->bounding_box_min[0],
@@ -136,12 +136,12 @@ ccl_device bool light_tree_sample(KernelGlobals kg,
 
   /* to-do: is it better to generate a new random sample for each step of the 
traversal? */
   float tree_u = path_state_rng_1D(kg, rng_state, 1);
-  const ccl_global KernelLightTreeNode *knode = 
&kernel_tex_fetch(__light_tree_nodes, index);
+  const ccl_global KernelLightTreeNode *knode = 
&kernel_data_fetch(light_tree_nodes, index);
   while (knode->child_index > 0) {
     /* At an interior node, the left child is directly next to the parent,
      * while the right child is stored as the child index. */
-    const ccl_global KernelLightTreeNode *left = 
&kernel_tex_fetch(__light_tree_nodes, index + 1);
-    const ccl_global KernelLightTreeNode *right = 
&kernel_tex_fetch(__light_tree_nodes, knode->child_index);
+    const ccl_global KernelLightTreeNode *left = 
&kernel_data_fetch(light_tree_nodes, index + 1);
+    const ccl_global KernelLightTreeNode *right = 
&kernel_data_fetch(light_tree_nodes, knode->child_index);
 
     const float left_importance = light_tree_cluster_importance(kg, P, N, 
left);
     const float right_importance = light_tree_cluster_importance(kg, P, N, 
right);
@@ -186,8 +186,8 @@ ccl_device bool light_tree_sample(KernelGlobals kg,
     emitter_cdf += emitter_pdf;
     if (tree_u < emitter_cdf) {
       *pdf_factor *= emitter_pdf;
-      ccl_global const KernelLightDistribution *kdistribution = 
&kernel_tex_fetch(__light_distribution,
-                                                                               
   prim_index);
+      ccl_global const KernelLightDistribution *kdistribution = 
&kernel_data_fetch(light_distribution,
+                                                                               
    prim_index);
 
       /* to-do: this is the same code as light_distribution_sample, except the 
index is determined differently.
        * Would it be better to refactor this into a separate function? */
@@ -199,7 +199,7 @@ ccl_device bool light_tree_sample(KernelGlobals kg,
 
         /* Exclude synthetic meshes from shadow catcher pass. */
         if ((path_flag & PATH_RAY_SHADOW_CATCHER_PASS) &&
-            !(kernel_tex_fetch(__object_flag, object) & 
SD_OBJECT_SHADOW_CATCHER)) {
+            !(kernel_data_fetch(object_flag, object) & 
SD_OBJECT_SHADOW_CATCHER)) {
           return false;
         }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to