diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-12-15 14:18:42 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-12-15 14:18:42 +0400 |
commit | 06888b7bebf66c5b05dd1a8106e35c57458252c0 (patch) | |
tree | ab9a5c6412438c8988a4e8116432ecd3b5705df3 /intern/cycles/kernel/osl/osl_shader.h | |
parent | 35dd893c368548b5d9d7bb56a1b9db07c71165d2 (diff) |
Cycles OSL minor optimizations: recycle shading context, don't do memory
allocations for trace data, avoid some virtual function calls. Only helps
a few percentages.
Diffstat (limited to 'intern/cycles/kernel/osl/osl_shader.h')
-rw-r--r-- | intern/cycles/kernel/osl/osl_shader.h | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/intern/cycles/kernel/osl/osl_shader.h b/intern/cycles/kernel/osl/osl_shader.h index e614f240dc1..2e46a2de42c 100644 --- a/intern/cycles/kernel/osl/osl_shader.h +++ b/intern/cycles/kernel/osl/osl_shader.h @@ -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); }; |