Cleanup: Remove support for OSL versions < 1.6.
We can get rid of more ifdefs once all platforms are on OSL 1.7 soon.
This commit is contained in:
parent
66a9698978
commit
a6ca8a1b73
Notes:
blender-bot
2024-04-11 14:26:06 +02:00
Referenced by issue #48829, Memory leak on Blender Exit (possibly related to mixing BI and Cycles nodes and material data ) Referenced by issue blender/blender-addons#47337, Inconsistent python api and documentation in mathutils.
|
@ -852,69 +852,6 @@ bool OSLRenderServices::has_userdata(ustring name, TypeDesc type, OSL::ShaderGlo
|
|||
return false; /* never called by OSL */
|
||||
}
|
||||
|
||||
#if OSL_LIBRARY_VERSION_CODE < 10600
|
||||
bool OSLRenderServices::texture(ustring filename,
|
||||
TextureOpt &options,
|
||||
OSL::ShaderGlobals *sg,
|
||||
float s, float t,
|
||||
float dsdx, float dtdx,
|
||||
float dsdy, float dtdy,
|
||||
float *result)
|
||||
{
|
||||
OSL::TextureSystem *ts = osl_ts;
|
||||
ShaderData *sd = (ShaderData *)(sg->renderstate);
|
||||
KernelGlobals *kg = sd->osl_globals;
|
||||
OSLThreadData *tdata = kg->osl_tdata;
|
||||
OIIO::TextureSystem::Perthread *texture_thread_info =
|
||||
tdata->oiio_thread_info;
|
||||
OIIO::TextureSystem::TextureHandle *texture_handle = NULL;
|
||||
if(filename[0] != '@') {
|
||||
texture_handle = ts->get_texture_handle(filename, texture_thread_info);
|
||||
}
|
||||
return texture(filename,
|
||||
texture_handle,
|
||||
texture_thread_info,
|
||||
options,
|
||||
sg,
|
||||
s, t,
|
||||
dsdx, dtdx, dsdy, dtdy,
|
||||
options.nchannels,
|
||||
result,
|
||||
NULL, NULL);
|
||||
}
|
||||
|
||||
bool OSLRenderServices::texture3d(ustring filename,
|
||||
TextureOpt &options,
|
||||
OSL::ShaderGlobals *sg,
|
||||
const OSL::Vec3 &P,
|
||||
const OSL::Vec3 &dPdx,
|
||||
const OSL::Vec3 &dPdy,
|
||||
const OSL::Vec3 &dPdz,
|
||||
float *result)
|
||||
{
|
||||
OSL::TextureSystem *ts = osl_ts;
|
||||
ShaderData *sd = (ShaderData *)(sg->renderstate);
|
||||
KernelGlobals *kg = sd->osl_globals;
|
||||
OSLThreadData *tdata = kg->osl_tdata;
|
||||
OIIO::TextureSystem::Perthread *texture_thread_info =
|
||||
tdata->oiio_thread_info;
|
||||
OIIO::TextureSystem::TextureHandle *texture_handle = NULL;
|
||||
if(filename[0] != '@') {
|
||||
texture_handle = ts->get_texture_handle(filename, texture_thread_info);
|
||||
}
|
||||
return texture3d(filename,
|
||||
texture_handle,
|
||||
texture_thread_info,
|
||||
options,
|
||||
sg,
|
||||
P,
|
||||
dPdx, dPdy, dPdz,
|
||||
options.nchannels,
|
||||
result,
|
||||
NULL, NULL, NULL);
|
||||
}
|
||||
#endif /* OSL_LIBRARY_VERSION_CODE < 10600 */
|
||||
|
||||
bool OSLRenderServices::texture(ustring filename,
|
||||
TextureHandle *texture_handle,
|
||||
TexturePerthread *texture_thread_info,
|
||||
|
|
|
@ -93,11 +93,6 @@ public:
|
|||
bool getmessage(OSL::ShaderGlobals *sg, ustring source, ustring name,
|
||||
TypeDesc type, void *val, bool derivatives);
|
||||
|
||||
#if OSL_LIBRARY_VERSION_CODE < 10600
|
||||
typedef TextureSystem::TextureHandle TextureHandle;
|
||||
typedef TextureSystem::Perthread TexturePerthread;
|
||||
#endif
|
||||
|
||||
bool texture(ustring filename,
|
||||
TextureSystem::TextureHandle *texture_handle,
|
||||
TexturePerthread *texture_thread_info,
|
||||
|
@ -182,36 +177,6 @@ public:
|
|||
static ustring u_v;
|
||||
static ustring u_empty;
|
||||
|
||||
/* Code to make OSL versions transition smooth. */
|
||||
|
||||
#if OSL_LIBRARY_VERSION_CODE < 10600
|
||||
bool texture(ustring filename,
|
||||
TextureOpt &options,
|
||||
OSL::ShaderGlobals *sg,
|
||||
float s, float t,
|
||||
float dsdx, float dtdx,
|
||||
float dsdy, float dtdy,
|
||||
float *result);
|
||||
|
||||
bool texture3d(ustring filename,
|
||||
TextureOpt &options,
|
||||
OSL::ShaderGlobals *sg,
|
||||
const OSL::Vec3 &P,
|
||||
const OSL::Vec3 &dPdx,
|
||||
const OSL::Vec3 &dPdy,
|
||||
const OSL::Vec3 &dPdz,
|
||||
float *result);
|
||||
|
||||
inline bool environment(ustring filename, TextureOpt &options,
|
||||
OSL::ShaderGlobals *sg, const OSL::Vec3 &R,
|
||||
const OSL::Vec3 &dRdx, const OSL::Vec3 &dRdy,
|
||||
float *result)
|
||||
{
|
||||
return environment(filename, options, sg, R, dRdx, dRdy,
|
||||
options.nchannels, result);
|
||||
}
|
||||
#endif
|
||||
|
||||
private:
|
||||
KernelGlobals *kernel_globals;
|
||||
OSL::TextureSystem *osl_ts;
|
||||
|
|
|
@ -339,11 +339,7 @@ void OSLShader::eval_surface(KernelGlobals *kg, ShaderData *sd, PathState *state
|
|||
int shader = sd->shader & SHADER_MASK;
|
||||
|
||||
if(kg->osl->surface_state[shader]) {
|
||||
#if OSL_LIBRARY_VERSION_CODE < 10600
|
||||
ss->execute(*octx, *(kg->osl->surface_state[shader]), *globals);
|
||||
#else
|
||||
ss->execute(octx, *(kg->osl->surface_state[shader]), *globals);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* flatten closure tree */
|
||||
|
@ -403,11 +399,7 @@ float3 OSLShader::eval_background(KernelGlobals *kg, ShaderData *sd, PathState *
|
|||
OSL::ShadingContext *octx = tdata->context[(int)ctx];
|
||||
|
||||
if(kg->osl->background_state) {
|
||||
#if OSL_LIBRARY_VERSION_CODE < 10600
|
||||
ss->execute(*octx, *(kg->osl->background_state), *globals);
|
||||
#else
|
||||
ss->execute(octx, *(kg->osl->background_state), *globals);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* return background color immediately */
|
||||
|
@ -518,11 +510,7 @@ void OSLShader::eval_volume(KernelGlobals *kg, ShaderData *sd, PathState *state,
|
|||
int shader = sd->shader & SHADER_MASK;
|
||||
|
||||
if(kg->osl->volume_state[shader]) {
|
||||
#if OSL_LIBRARY_VERSION_CODE < 10600
|
||||
ss->execute(*octx, *(kg->osl->volume_state[shader]), *globals);
|
||||
#else
|
||||
ss->execute(octx, *(kg->osl->volume_state[shader]), *globals);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* flatten closure tree */
|
||||
|
@ -548,11 +536,7 @@ void OSLShader::eval_displacement(KernelGlobals *kg, ShaderData *sd, ShaderConte
|
|||
int shader = sd->shader & SHADER_MASK;
|
||||
|
||||
if(kg->osl->displacement_state[shader]) {
|
||||
#if OSL_LIBRARY_VERSION_CODE < 10600
|
||||
ss->execute(*octx, *(kg->osl->displacement_state[shader]), *globals);
|
||||
#else
|
||||
ss->execute(octx, *(kg->osl->displacement_state[shader]), *globals);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* get back position */
|
||||
|
|
|
@ -264,11 +264,7 @@ void OSLShaderManager::shading_system_free()
|
|||
|
||||
bool OSLShaderManager::osl_compile(const string& inputfile, const string& outputfile)
|
||||
{
|
||||
#if OSL_LIBRARY_VERSION_CODE < 10602
|
||||
vector<string_view> options;
|
||||
#else
|
||||
vector<string> options;
|
||||
#endif
|
||||
string stdosl_path;
|
||||
string shader_path = path_get("shader");
|
||||
|
||||
|
@ -283,11 +279,7 @@ bool OSLShaderManager::osl_compile(const string& inputfile, const string& output
|
|||
stdosl_path = path_get("shader/stdosl.h");
|
||||
|
||||
/* compile */
|
||||
#if OSL_LIBRARY_VERSION_CODE >= 10602
|
||||
OSL::OSLCompiler *compiler = new OSL::OSLCompiler(&OSL::ErrorHandler::default_handler());
|
||||
#else
|
||||
OSL::OSLCompiler *compiler = new OSL::OSLCompiler();
|
||||
#endif
|
||||
bool ok = compiler->compile(string_view(inputfile), options, string_view(stdosl_path));
|
||||
delete compiler;
|
||||
|
||||
|
|
Loading…
Reference in New Issue