Cycles OSL minor optimizations: recycle shading context, don't do memory
[blender.git] / intern / cycles / kernel / osl / osl_shader.h
index e614f240dc1d55e6961b92031095815450581c4d..2e46a2de42cf8705409b5cbfb7660fe547941688 100644 (file)
@@ -55,10 +55,10 @@ public:
        static void thread_free(KernelGlobals *kg);
 
        /* eval */
-       static void eval_surface(KernelGlobals *kg, ShaderData *sd, float randb, int path_flag);
-       static float3 eval_background(KernelGlobals *kg, ShaderData *sd, int path_flag);
-       static void eval_volume(KernelGlobals *kg, ShaderData *sd, float randb, int path_flag);
-       static void eval_displacement(KernelGlobals *kg, ShaderData *sd);
+       static void eval_surface(KernelGlobals *kg, ShaderData *sd, float randb, int path_flag, ShaderContext ctx);
+       static float3 eval_background(KernelGlobals *kg, ShaderData *sd, int path_flag, ShaderContext ctx);
+       static void eval_volume(KernelGlobals *kg, ShaderData *sd, float randb, int path_flag, ShaderContext ctx);
+       static void eval_displacement(KernelGlobals *kg, ShaderData *sd, ShaderContext ctx);
 
        /* sample & eval */
        static int bsdf_sample(const ShaderData *sd, const ShaderClosure *sc,
@@ -73,10 +73,6 @@ public:
        static float3 volume_eval_phase(const ShaderClosure *sc,
                                        const float3 omega_in, const float3 omega_out);
 
-       /* release */
-       static void init(KernelGlobals *kg, ShaderData *sd);
-       static void release(KernelGlobals *kg, ShaderData *sd);
-
        /* attributes */
        static int find_attribute(KernelGlobals *kg, const ShaderData *sd, uint id);
 };