[Bf-blender-cvs] [7610395cbc4] temp_cryptomatte: Cleanup: Removed unrelated AOV code, made Cryptomatte work with OpenCL
Stefan Werner
noreply at git.blender.org
Fri Jul 6 16:42:01 CEST 2018
Commit: 7610395cbc4c4395bb668e14ff971809c01a80e6
Author: Stefan Werner
Date: Fri Jul 6 16:36:27 2018 +0200
Branches: temp_cryptomatte
https://developer.blender.org/rB7610395cbc4c4395bb668e14ff971809c01a80e6
Cleanup: Removed unrelated AOV code, made Cryptomatte work with OpenCL
===================================================================
M intern/cycles/blender/addon/engine.py
M intern/cycles/blender/addon/properties.py
M intern/cycles/blender/addon/ui.py
M intern/cycles/blender/blender_shader.cpp
M intern/cycles/blender/blender_sync.cpp
M intern/cycles/kernel/CMakeLists.txt
M intern/cycles/kernel/kernel_passes.h
M intern/cycles/kernel/svm/svm.h
M intern/cycles/kernel/svm/svm_types.h
M intern/cycles/render/graph.cpp
M intern/cycles/render/graph.h
M intern/cycles/render/nodes.cpp
M intern/cycles/render/nodes.h
M intern/cycles/render/svm.cpp
M intern/cycles/render/svm.h
M source/blender/blenkernel/BKE_node.h
M source/blender/blenkernel/intern/node.c
M source/blender/editors/space_node/drawnode.c
M source/blender/makesdna/DNA_node_types.h
M source/blender/makesrna/intern/rna_nodetree.c
M source/blender/nodes/CMakeLists.txt
M source/blender/nodes/NOD_shader.h
M source/blender/nodes/NOD_static_types.h
M source/blender/nodes/shader/nodes/node_shader_aov_output.c
===================================================================
diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py
index 0b550faae34..28fd833e296 100644
--- a/intern/cycles/blender/addon/engine.py
+++ b/intern/cycles/blender/addon/engine.py
@@ -252,12 +252,6 @@ def register_passes(engine, scene, srl):
engine.register_pass(scene, srl, "Denoising Image", 3, "RGB", 'COLOR')
engine.register_pass(scene, srl, "Denoising Image Variance", 3, "RGB", 'COLOR')
- for aov in crl.aovs:
- if(aov.type == 'COLOR'):
- engine.register_pass(scene, srl, aov.name, 3, "RGB", 'COLOR')
- else:
- engine.register_pass(scene, srl, aov.name, 1, "X", 'VALUE')
-
if(crl.use_pass_crypto_object):
for i in range(0, crl.pass_crypto_depth, 2):
engine.register_pass(scene, srl, "AOV uCryptoObject" + '{:02d}'.format(i), 4, "RGBA", 'COLOR')
diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index 71068bda6c4..c5bf6daf83f 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -140,11 +140,6 @@ enum_texture_limit = (
('8192', "8192", "Limit texture size to 8192 pixels", 7),
)
-enum_aov_types = (
- ('VALUE', "Value", "Write a Value pass", 0),
- ('COLOR', "Color", "Write a color pass", 1),
- )
-
class CyclesRenderSettings(bpy.types.PropertyGroup):
@classmethod
def register(cls):
@@ -1162,12 +1157,6 @@ def update_render_passes(self, context):
rl = rd.layers.active
rl.update_render_passes()
-class CyclesAOVSettings(bpy.types.PropertyGroup):
- @classmethod
- def register(cls):
- cls.name = StringProperty(name="Name", update=update_render_passes)
- cls.type = EnumProperty(name="Type", update=update_render_passes, items=enum_aov_types, default='COLOR')
-
def update_render_passes(self, context):
scene = context.scene
rd = scene.render
@@ -1281,8 +1270,6 @@ class CyclesRenderLayerSettings(bpy.types.PropertyGroup):
default=False,
update=update_render_passes,
)
- cls.aovs = bpy.props.CollectionProperty(type=CyclesAOVSettings)
- cls.active_aov = IntProperty(default=0)
cls.use_pass_crypto_object = BoolProperty(
name="CryptoMatte Object",
description="CryptoMatte Object pass",
@@ -1486,7 +1473,6 @@ def register():
bpy.utils.register_class(CyclesCurveSettings)
bpy.utils.register_class(CyclesDeviceSettings)
bpy.utils.register_class(CyclesPreferences)
- bpy.utils.register_class(CyclesAOVSettings)
bpy.utils.register_class(CyclesRenderLayerSettings)
@@ -1503,5 +1489,4 @@ def unregister():
bpy.utils.unregister_class(CyclesCurveSettings)
bpy.utils.unregister_class(CyclesDeviceSettings)
bpy.utils.unregister_class(CyclesPreferences)
- bpy.utils.unregister_class(CyclesAOVSettings)
bpy.utils.unregister_class(CyclesRenderLayerSettings)
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py
index b477acb9d5e..25b0b9b7856 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -428,52 +428,6 @@ class CYCLES_RENDER_PT_performance(CyclesButtonsPanel, Panel):
row.active = not cscene.debug_use_spatial_splits
row.prop(cscene, "debug_bvh_time_steps")
-class CyclesRender_AOV_add(bpy.types.Operator):
- """Add an AOV pass"""
- bl_idname="scenerenderlayer.aov_add"
- bl_label="Add AOV"
-
- def execute(self, context):
- scene = context.scene
- rd = scene.render
- rl = rd.layers.active
- crl = rl.cycles
-
- crl.aovs.add()
-
- rl.update_render_passes()
- return {'FINISHED'}
-
-class CyclesRender_AOV_delete(bpy.types.Operator):
- """Delete an AOV pass"""
- bl_idname="scenerenderlayer.aov_delete"
- bl_label="Delete AOV"
-
- def execute(self, context):
- scene = context.scene
- rd = scene.render
- rl = rd.layers.active
- crl = rl.cycles
-
- crl.aovs.remove(crl.active_aov)
-
- rl.update_render_passes()
- return {'FINISHED'}
-
-class CyclesAOVList(bpy.types.UIList):
- def draw_item(self, context, layout, data, item, icon, active_data, active_propname):
- row = layout.row()
- row.label("", icon='RENDER_RESULT')
- split = row.split(percentage=0.65, align=True)
- split.prop(item, "name", text="")
- split.prop(item, "type", text="")
- col = layout.column()
- col.label(text="Viewport Resolution:")
- split = col.split()
- split.prop(rd, "preview_pixel_size", text="")
- split.prop(cscene, "preview_start_resolution")
-
-
class CYCLES_RENDER_PT_layer_options(CyclesButtonsPanel, Panel):
bl_label = "Layer"
bl_context = "render_layer"
@@ -595,14 +549,6 @@ class CYCLES_RENDER_PT_layer_passes(CyclesButtonsPanel, Panel):
row = layout.row(align=True)
row.prop(crl, "pass_crypto_depth")
- layout.label("AOVs:")
- row = layout.row()
- row.template_list("CyclesAOVList", "", crl, "aovs", crl, "active_aov")
- sub = row.column(align=True)
- sub.operator("scenerenderlayer.aov_add", icon='ZOOMIN', text="")
- sub.operator("scenerenderlayer.aov_delete", icon='ZOOMOUT', text="")
-
-
class CYCLES_RENDER_PT_views(CyclesButtonsPanel, Panel):
bl_label = "Views"
bl_context = "render_layer"
diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp
index a48039fb15f..cd6c9f319db 100644
--- a/intern/cycles/blender/blender_shader.cpp
+++ b/intern/cycles/blender/blender_shader.cpp
@@ -825,12 +825,6 @@ static ShaderNode *add_node(Scene *scene,
uvm->from_dupli = b_uvmap_node.from_dupli();
node = uvm;
}
- else if(b_node.is_a(&RNA_ShaderNodeAOVOutput)) {
- BL::ShaderNodeAOVOutput b_aovout_node(b_node);
- AOVOutputNode *aov = new AOVOutputNode();
- aov->name = ustring(b_aovout_node.aov());
- node = aov;
- }
else if(b_node.is_a(&RNA_ShaderNodeTexPointDensity)) {
BL::ShaderNodeTexPointDensity b_point_density_node(b_node);
PointDensityTextureNode *point_density = new PointDensityTextureNode();
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 635bedf69f0..b53f1b06f10 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -567,9 +567,6 @@ void BlenderSync::sync_film(BL::RenderLayer& b_rlay,
if(pass_type != PASS_NONE)
passes.add(pass_type);
}
-
- /* make Crypto passes appear before user defined AOVs
- * that way, their indices are known */
int crypto_depth = std::min(16, get_int(crp, "pass_crypto_depth")) / 2;
scene->film->use_cryptomatte = crypto_depth;
@@ -609,15 +606,6 @@ void BlenderSync::sync_film(BL::RenderLayer& b_rlay,
if(get_boolean(crp, "pass_crypto_accurate")) {
scene->film->use_cryptomatte |= CRYPT_ACCURATE;
}
-
- RNA_BEGIN(&crp, b_aov, "aovs") {
- bool is_color = RNA_enum_get(&b_aov, "type");
- string name = get_string(b_aov, "name");
- AOV aov = {ustring(name), 9999, is_color ? AOV_RGB : AOV_FLOAT};
- passes.add(aov);
- string passname = string_printf("AOV %s", name.c_str());
- b_engine.add_pass(passname.c_str(), is_color? 3: 1, is_color? "RGB": "X", b_srlay.name().c_str(), 0);
- } RNA_END
PointerRNA crp = RNA_pointer_get(&b_srlay.ptr, "cycles");
if(get_boolean(crp, "denoising_store_passes") &&
diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt
index 10251cfc7a6..bd51bc4d371 100644
--- a/intern/cycles/kernel/CMakeLists.txt
+++ b/intern/cycles/kernel/CMakeLists.txt
@@ -160,7 +160,6 @@ set(SRC_CLOSURE_HEADERS
set(SRC_SVM_HEADERS
svm/svm.h
svm/svm_attribute.h
- svm/svm_aov.h
svm/svm_blackbody.h
svm/svm_bump.h
svm/svm_camera.h
diff --git a/intern/cycles/kernel/kernel_passes.h b/intern/cycles/kernel/kernel_passes.h
index 5df00923efc..584bf94cd37 100644
--- a/intern/cycles/kernel/kernel_passes.h
+++ b/intern/cycles/kernel/kernel_passes.h
@@ -81,8 +81,8 @@ ccl_device_inline void kernel_write_id_slots(ccl_global float *buffer, int num_s
}
for(int slot = 0; slot < num_slots; slot++) {
- float *slot_id = (&buffer[slot*ID_SLOT_SIZE + 0]);
- float *slot_weight = &buffer[slot*ID_SLOT_SIZE + 1];
+ ccl_global float *slot_id = (&buffer[slot*ID_SLOT_SIZE + 0]);
+ ccl_global float *slot_weight = &buffer[slot*ID_SLOT_SIZE + 1];
/* If the loop reaches an empty slot, the ID isn't in any slot yet - so add it! */
if(*slot_weight == 0.0f) {
diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h
index 20907436be1..01ca705d808 100644
--- a/intern/cycles/kernel/svm/svm.h
+++ b/intern/cycles/kernel/svm/svm.h
@@ -182,7 +182,6 @@ CCL_NAMESPACE_END
#include "kernel/svm/svm_vector_transform.h"
#include "kernel/svm/svm_voxel.h"
#include "kernel/svm/svm_bump.h"
-#include "kernel/svm/svm_aov.h"
CCL_NAMESPACE_BEGIN
@@ -460,17 +459,6 @@ ccl_device_noinline void svm_eval_nodes(KernelGlobals *kg,
case NODE_BLACKBODY:
svm_node_blackbody(kg, sd, stack, node.y, node.z);
break;
- case NODE_AOV_WRITE_FLOAT3:
- svm_node_aov_write_float3(kg, state, stack, node.y, node.z, buffer);
- break;
- case NODE_AOV_WRITE_FLOAT:
- svm_node_aov_write_float(kg, state, stack, node.y, node.z, buffer);
- break;
- case NODE_END_IF_NO_AOVS:
- if(state->written_aovs == ~0) {
- return;
- }
- break;
# endif /* __EXTRA_NODES__ */
# if NODES_FEATURE(NODE_FEATURE_VOLUME)
case NODE_TEX_VOXEL:
diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h
index 3254f1b55b4..7fb82bc502a 100644
--- a/intern/cycles/kernel/svm/svm_types.h
+++ b/intern/cycles/kernel/svm/svm_types.h
@@ -132,9 +132,6 @@ typedef enum ShaderNodeType {
NODE_TEX_VOXEL,
NODE_ENTER_BUMP_EVAL,
NODE_LEAVE_BUMP_EVAL,
- NODE_END_IF_NO_AOVS,
- NODE_AOV_WRITE_FLOAT,
- NODE_AOV_WRITE_FLOAT3,
} ShaderNodeType;
typedef enum NodeAttributeType {
diff --git a/intern/cycles/render/graph.cpp b/intern/cycles/render/graph.cpp
index aa7aa6fbc
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list