Gawain: Force hashing function to be inlined
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 4 Oct 2017 11:53:02 +0000 (16:53 +0500)
committerSergey Sharybin <sergey.vfx@gmail.com>
Thu, 5 Oct 2017 10:46:15 +0000 (15:46 +0500)
Makes sure we don't waste CPU ticks on function call in such a time critical
area.

intern/gawain/src/gwn_shader_interface.c

index e06fde6ad148d3808495538a01807a1ded4a411d..697eb586e7b8a8b8326c5c029ea2fa8f61ee447a 100644 (file)
@@ -44,12 +44,12 @@ static const char* BuiltinUniform_name(Gwn_UniformBuiltin u)
        return names[u];
        }
 
-static bool match(const char* a, const char* b)
+GWN_INLINE bool match(const char* a, const char* b)
        {
        return strcmp(a, b) == 0;
        }
 
-static unsigned hash_string(const char *str)
+GWN_INLINE unsigned hash_string(const char *str)
        {
        unsigned i = 0, c;
 
@@ -61,7 +61,7 @@ static unsigned hash_string(const char *str)
        return i;
        }
 
-static void set_input_name(Gwn_ShaderInput* input, const char* name)
+GWN_INLINE void set_input_name(Gwn_ShaderInput* input, const char* name)
        {
        input->name = name;
        input->name_hash = hash_string(name);