Cycles: Remove some ifdefs for OSL < 1.7.1.

That means that we now only support OSL 1.7.1 or newer. Please update libs or re-run install-depsh.sh.
This commit is contained in:
Thomas Dinges
2016-02-11 13:57:39 +01:00
parent 1e29849da0
commit 164dfbeb50
4 changed files with 2 additions and 47 deletions

View File

@@ -114,9 +114,6 @@ static ShaderSocketType convert_osl_socket_type(OSL::OSLQuery& query,
BL::NodeSocket& b_socket)
{
ShaderSocketType socket_type = convert_socket_type(b_socket);
#if OSL_LIBRARY_VERSION_CODE < 10701
(void) query;
#else
if(socket_type == SHADER_SOCKET_VECTOR) {
/* TODO(sergey): Do we need compatible_name() here? */
const OSL::OSLQuery::Parameter *param = query.getparam(b_socket.name());
@@ -130,7 +127,7 @@ static ShaderSocketType convert_osl_socket_type(OSL::OSLQuery& query,
}
}
}
#endif
return socket_type;
}
#endif /* WITH_OSL */
@@ -561,7 +558,7 @@ static ShaderNode *add_node(Scene *scene,
* input/output type info needed for proper node construction.
*/
OSL::OSLQuery query;
#if OSL_LIBRARY_VERSION_CODE >= 10701
if(!bytecode_hash.empty()) {
query.open_bytecode(b_script_node.bytecode());
}
@@ -569,7 +566,6 @@ static ShaderNode *add_node(Scene *scene,
!OSLShaderManager::osl_query(query, b_script_node.filepath());
}
/* TODO(sergey): Add proper query info error parsing. */
#endif
/* Generate inputs/outputs from node sockets
*

View File

@@ -80,11 +80,6 @@ void name(RendererServices *, int id, void *data) \
#define TO_COLOR3(v) OSL::Color3(v.x, v.y, v.z)
#define TO_FLOAT3(v) make_float3(v[0], v[1], v[2])
#if OSL_LIBRARY_VERSION_CODE < 10700
# undef CLOSURE_STRING_KEYPARAM
# define CLOSURE_STRING_KEYPARAM(st, fld, key) { TypeDesc::TypeString, 0, key, 0 }
#endif
/* Closure */
class CClosurePrimitive {
@@ -105,9 +100,7 @@ public:
Category category;
#if OSL_LIBRARY_VERSION_CODE >= 10700
OSL::ustring label;
#endif
};
/* BSDF */

View File

@@ -147,11 +147,7 @@ static void flatten_surface_closure_tree(ShaderData *sd, int path_flag,
/* OSL gives us a closure tree, we flatten it into arrays per
* closure type, for evaluation, sampling, etc later on. */
#if OSL_LIBRARY_VERSION_CODE < 10700
switch(closure->type) {
#else
switch(closure->id) {
#endif
case OSL::ClosureColor::MUL: {
OSL::ClosureMul *mul = (OSL::ClosureMul *)closure;
flatten_surface_closure_tree(sd, path_flag, mul->closure, TO_FLOAT3(mul->weight) * weight);
@@ -355,11 +351,7 @@ static float3 flatten_background_closure_tree(const OSL::ClosureColor *closure)
* is only one supported closure type at the moment, which has no evaluation
* functions, so we just sum the weights */
#if OSL_LIBRARY_VERSION_CODE < 10700
switch(closure->type) {
#else
switch(closure->id) {
#endif
case OSL::ClosureColor::MUL: {
OSL::ClosureMul *mul = (OSL::ClosureMul *)closure;
@@ -417,11 +409,7 @@ static void flatten_volume_closure_tree(ShaderData *sd,
/* OSL gives us a closure tree, we flatten it into arrays per
* closure type, for evaluation, sampling, etc later on. */
#if OSL_LIBRARY_VERSION_CODE < 10700
switch(closure->type) {
#else
switch(closure->id) {
#endif
case OSL::ClosureColor::MUL: {
OSL::ClosureMul *mul = (OSL::ClosureMul *)closure;
flatten_volume_closure_tree(sd, mul->closure, TO_FLOAT3(mul->weight) * weight);

View File

@@ -4599,28 +4599,6 @@ void OSLScriptNode::compile(SVMCompiler& /*compiler*/)
void OSLScriptNode::compile(OSLCompiler& compiler)
{
#if defined(WITH_OSL) && (OSL_LIBRARY_VERSION_CODE < 10701)
/* XXX fix for #36790:
* point and normal parameters are reflected as generic SOCK_VECTOR sockets
* on the node. Socket fixed input values need to be copied explicitly here for
* vector sockets, otherwise OSL will reject the value due to mismatching type.
*/
foreach(ShaderInput *input, this->inputs) {
if(!input->link) {
/* no need for compatible_name here, OSL parameter names are always unique */
string param_name(input->name);
switch(input->type) {
case SHADER_SOCKET_VECTOR:
compiler.parameter_point(param_name.c_str(), input->value);
compiler.parameter_normal(param_name.c_str(), input->value);
break;
default:
break;
}
}
}
#endif
if(!filepath.empty())
compiler.add(this, filepath.c_str(), true);
else