[Bf-blender-cvs] [95498f3888b] cycles-x: Cleanup: remove unused kernel variables
Brecht Van Lommel
noreply at git.blender.org
Fri Aug 6 15:40:30 CEST 2021
Commit: 95498f3888b7fbafb2f4e88840fdcc827ef74165
Author: Brecht Van Lommel
Date: Fri Aug 6 15:28:10 2021 +0200
Branches: cycles-x
https://developer.blender.org/rB95498f3888b7fbafb2f4e88840fdcc827ef74165
Cleanup: remove unused kernel variables
===================================================================
M intern/cycles/kernel/kernel_accumulate.h
M intern/cycles/kernel/kernel_shader.h
M intern/cycles/kernel/kernel_types.h
M intern/cycles/render/film.cpp
M intern/cycles/render/film.h
M intern/cycles/render/light.cpp
M intern/cycles/render/light.h
M intern/cycles/render/scene.cpp
===================================================================
diff --git a/intern/cycles/kernel/kernel_accumulate.h b/intern/cycles/kernel/kernel_accumulate.h
index f749a4b2afa..b7e840ecd28 100644
--- a/intern/cycles/kernel/kernel_accumulate.h
+++ b/intern/cycles/kernel/kernel_accumulate.h
@@ -32,10 +32,7 @@ CCL_NAMESPACE_BEGIN
* that only one of those can happen at a bounce, and so do not need to accumulate
* them separately. */
-ccl_device_inline void bsdf_eval_init(BsdfEval *eval,
- const bool is_diffuse,
- float3 value,
- const bool use_light_pass)
+ccl_device_inline void bsdf_eval_init(BsdfEval *eval, const bool is_diffuse, float3 value)
{
eval->diffuse = zero_float3();
eval->glossy = zero_float3();
diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h
index 1d88684c1e8..3052bb53040 100644
--- a/intern/cycles/kernel/kernel_shader.h
+++ b/intern/cycles/kernel/kernel_shader.h
@@ -228,7 +228,7 @@ ccl_device_inline
BsdfEval *bsdf_eval,
const uint light_shader_flags)
{
- bsdf_eval_init(bsdf_eval, false, zero_float3(), kernel_data.film.use_light_pass);
+ bsdf_eval_init(bsdf_eval, false, zero_float3());
return _shader_bsdf_multi_eval(
kg, sd, omega_in, is_transmission, NULL, bsdf_eval, 0.0f, 0.0f, light_shader_flags);
@@ -322,7 +322,7 @@ ccl_device int shader_bsdf_sample_closure(const KernelGlobals *kg,
if (*pdf != 0.0f) {
const bool is_diffuse = (CLOSURE_IS_BSDF_DIFFUSE(sc->type) ||
CLOSURE_IS_BSDF_BSSRDF(sc->type));
- bsdf_eval_init(bsdf_eval, is_diffuse, eval * sc->weight, kernel_data.film.use_light_pass);
+ bsdf_eval_init(bsdf_eval, is_diffuse, eval * sc->weight);
if (sd->num_closure > 1) {
const bool is_transmission = shader_bsdf_is_transmission(sd, *omega_in);
@@ -662,7 +662,7 @@ ccl_device float shader_volume_phase_eval(const KernelGlobals *kg,
const float3 omega_in,
BsdfEval *phase_eval)
{
- bsdf_eval_init(phase_eval, false, zero_float3(), kernel_data.film.use_light_pass);
+ bsdf_eval_init(phase_eval, false, zero_float3());
return _shader_volume_phase_multi_eval(sd, phases, omega_in, -1, phase_eval, 0.0f, 0.0f);
}
@@ -720,7 +720,7 @@ ccl_device int shader_volume_phase_sample(const KernelGlobals *kg,
label = volume_phase_sample(sd, svc, randu, randv, &eval, omega_in, domega_in, pdf);
if (*pdf != 0.0f) {
- bsdf_eval_init(phase_eval, false, eval, kernel_data.film.use_light_pass);
+ bsdf_eval_init(phase_eval, false, eval);
}
return label;
@@ -743,7 +743,7 @@ ccl_device int shader_phase_sample_closure(const KernelGlobals *kg,
label = volume_phase_sample(sd, sc, randu, randv, &eval, omega_in, domega_in, pdf);
if (*pdf != 0.0f)
- bsdf_eval_init(phase_eval, false, eval, kernel_data.film.use_light_pass);
+ bsdf_eval_init(phase_eval, false, eval);
return label;
}
diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h
index d5468d8afce..d97689829b6 100644
--- a/intern/cycles/kernel/kernel_types.h
+++ b/intern/cycles/kernel/kernel_types.h
@@ -955,7 +955,6 @@ typedef struct KernelFilm {
int light_pass_flag;
int pass_stride;
- int use_light_pass;
int pass_combined;
int pass_depth;
@@ -1030,6 +1029,9 @@ typedef struct KernelFilm {
int display_pass_denoised_offset;
int show_active_pixels;
int use_approximate_shadow_catcher;
+
+ /* padding */
+ int pad1;
} KernelFilm;
static_assert_align(KernelFilm, 16);
diff --git a/intern/cycles/render/film.cpp b/intern/cycles/render/film.cpp
index 52366d32b64..929f6c32165 100644
--- a/intern/cycles/render/film.cpp
+++ b/intern/cycles/render/film.cpp
@@ -116,8 +116,6 @@ NODE_DEFINE(Film)
SOCKET_FLOAT(mist_depth, "Mist Depth", 100.0f);
SOCKET_FLOAT(mist_falloff, "Mist Falloff", 1.0f);
- SOCKET_BOOLEAN(use_light_visibility, "Use Light Visibility", false);
-
const NodeEnum *pass_type_enum = Pass::get_type_enum();
SOCKET_ENUM(display_pass, "Display Pass", *pass_type_enum, PASS_COMBINED);
@@ -173,6 +171,7 @@ void Film::device_update(Device *device, DeviceScene *dscene, Scene *scene)
/* update __data */
kfilm->exposure = exposure;
+ kfilm->pass_alpha_threshold = pass_alpha_threshold;
kfilm->pass_flag = 0;
kfilm->display_pass_type = display_pass->type;
@@ -183,7 +182,6 @@ void Film::device_update(Device *device, DeviceScene *dscene, Scene *scene)
kfilm->light_pass_flag = 0;
kfilm->pass_stride = 0;
- kfilm->use_light_pass = use_light_visibility;
/* Mark with PASS_UNUSED to avoid mask test in the kernel. */
kfilm->pass_background = PASS_UNUSED;
@@ -242,9 +240,6 @@ void Film::device_update(Device *device, DeviceScene *dscene, Scene *scene)
int pass_flag = (1 << (pass->type % 32));
if (pass->type <= PASS_CATEGORY_LIGHT_END) {
- if (pass->type != PASS_COMBINED) {
- kfilm->use_light_pass = 1;
- }
kfilm->light_pass_flag |= pass_flag;
}
else if (pass->type <= PASS_CATEGORY_DATA_END) {
@@ -397,19 +392,6 @@ void Film::device_update(Device *device, DeviceScene *dscene, Scene *scene)
kfilm->pass_stride += pass->get_info().num_components;
}
- /* When displaying the normal/uv pass in the viewport we need to disable
- * transparency.
- *
- * We also don't need to perform light accumulations. Later we want to optimize this to suppress
- * light calculations. */
- if (display_pass->type == PASS_NORMAL || display_pass->type == PASS_UV ||
- display_pass->type == PASS_ROUGHNESS) {
- kfilm->use_light_pass = 0;
- }
- else {
- kfilm->pass_alpha_threshold = pass_alpha_threshold;
- }
-
/* update filter table */
vector<float> table = filter_table(filter_type, filter_width);
scene->lookup_tables->remove_table(&filter_table_offset_);
diff --git a/intern/cycles/render/film.h b/intern/cycles/render/film.h
index 834e4920e00..02b5b9ad902 100644
--- a/intern/cycles/render/film.h
+++ b/intern/cycles/render/film.h
@@ -56,7 +56,6 @@ class Film : public Node {
NODE_SOCKET_API(float, mist_depth)
NODE_SOCKET_API(float, mist_falloff)
- NODE_SOCKET_API(bool, use_light_visibility)
NODE_SOCKET_API(CryptomatteType, cryptomatte_passes)
NODE_SOCKET_API(int, cryptomatte_depth)
diff --git a/intern/cycles/render/light.cpp b/intern/cycles/render/light.cpp
index 746a6f785d6..0e10ec49892 100644
--- a/intern/cycles/render/light.cpp
+++ b/intern/cycles/render/light.cpp
@@ -179,7 +179,6 @@ LightManager::LightManager()
{
update_flags = UPDATE_ALL;
need_update_background = true;
- use_light_visibility = false;
last_background_enabled = false;
last_background_resolution = 0;
}
@@ -348,19 +347,15 @@ void LightManager::device_update_distribution(Device *,
}
if (!(object->get_visibility() & PATH_RAY_DIFFUSE)) {
shader_flag |= SHADER_EXCLUDE_DIFFUSE;
- use_light_visibility = true;
}
if (!(object->get_visibility() & PATH_RAY_GLOSSY)) {
shader_flag |= SHADER_EXCLUDE_GLOSSY;
- use_light_visibility = true;
}
if (!(object->get_visibility() & PATH_RAY_TRANSMIT)) {
shader_flag |= SHADER_EXCLUDE_TRANSMIT;
- use_light_visibility = true;
}
if (!(object->get_visibility() & PATH_RAY_VOLUME_SCATTER)) {
shader_flag |= SHADER_EXCLUDE_SCATTER;
- use_light_visibility = true;
}
if (!(object->get_is_shadow_catcher())) {
shader_flag |= SHADER_EXCLUDE_SHADOW_CATCHER;
@@ -762,19 +757,15 @@ void LightManager::device_update_points(Device *, DeviceScene *dscene, Scene *sc
}
if (!light->use_diffuse) {
shader_id |= SHADER_EXCLUDE_DIFFUSE;
- use_light_visibility = true;
}
if (!light->use_glossy) {
shader_id |= SHADER_EXCLUDE_GLOSSY;
- use_light_visibility = true;
}
if (!light->use_transmission) {
shader_id |= SHADER_EXCLUDE_TRANSMIT;
- use_light_visibility = true;
}
if (!light->use_scatter) {
shader_id |= SHADER_EXCLUDE_SCATTER;
- use_light_visibility = true;
}
if (!light->is_shadow_catcher) {
shader_id |= SHADER_EXCLUDE_SHADOW_CATCHER;
@@ -832,19 +823,15 @@ void LightManager::device_update_points(Device *, DeviceScene *dscene, Scene *sc
if (!(visibility & PATH_RAY_DIFFUSE)) {
shader_id |= SHADER_EXCLUDE_DIFFUSE;
- use_light_visibility = true;
}
if (!(visibility & PATH_RAY_GLOSSY)) {
shader_id |= SHADER_EXCLUDE_GLOSSY;
- use_light_visibility = true;
}
if (!(visibility & PATH_RAY_TRANSMIT)) {
shader_id |= SHADER_EXCLUDE_TRANSMIT;
- use_light_visibility = true;
}
if (!(visibility & PATH_RAY_VOLUME_SCATTER)) {
shader_id |= SHADER_EXCLUDE_SCATTER;
- use_light_visibility = true;
}
}
else if (light->light_type == LIGHT_AREA) {
@@ -994,8 +981,6 @@ void LightManager::device_update(Device *device,
device_free(device, dscene, need_update_background);
- use_light_visibility = false;
-
device_update_points(device, dscene, scene);
if (progress.get_cancel())
return;
@@ -1014,8 +999,6 @@ void LightManager::device_update(Device *device,
if (progress.get_cancel())
return;
- scene->film->set_use_light_visibility(use_light_visibility);
-
update_flags = UPDATE_NONE;
need_update_background = false;
}
diff --git a/intern/cycles/render/light.h b/intern/cycles/render/light.h
index a5681db9f69..7f86237c8b3 100644
--- a/intern/cycles/render/light.h
+++ b/intern/cycles/render/light.h
@@ -109,8 +109,6 @@ class LightManager {
UPDATE_NONE = 0u,
};
- bool use_light_visibility;
-
/* Need to update background (including multiple importance map) */
bool need_update_background;
diff --git a/intern/cycles/render/scene.cpp b/intern/cycles/render/scene.cpp
index 1d8f0bb2e40..a4b030190dc 100644
--- a/intern/cycles/render/scene.cpp
+++ b/intern/cycles/render/scene.cpp
@@ -256,7 +256,6 @@ void Scene::device_update(Device *device_, Progress &progress)
* - Camera may be used for adaptive
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list