[Bf-blender-cvs] [6c777ed76b3] blender-v2.83-release: Fix T83625: Shading attribute names cause compilation error.

Jeroen Bakker noreply at git.blender.org
Wed Jan 13 11:41:51 CET 2021


Commit: 6c777ed76b3d4342d50f6f87f24f758473816a60
Author: Jeroen Bakker
Date:   Fri Dec 18 09:56:28 2020 +0100
Branches: blender-v2.83-release
https://developer.blender.org/rB6c777ed76b3d4342d50f6f87f24f758473816a60

Fix T83625: Shading attribute names cause compilation error.

Some GPU platforms don't support having more than one underscore in
sequence in an attribute name. This change will remove the underscore
as a possible character when encoding to save names.

===================================================================

M	source/blender/gpu/intern/gpu_vertex_format.c

===================================================================

diff --git a/source/blender/gpu/intern/gpu_vertex_format.c b/source/blender/gpu/intern/gpu_vertex_format.c
index e6a9cb8f2f2..5afe9221b3b 100644
--- a/source/blender/gpu/intern/gpu_vertex_format.c
+++ b/source/blender/gpu/intern/gpu_vertex_format.c
@@ -264,13 +264,12 @@ int GPU_vertformat_attr_id_get(const GPUVertFormat *format, const char *name)
 /* Encode 8 original bytes into 11 safe bytes. */
 static void safe_bytes(char out[11], const char data[8])
 {
-  char safe_chars[63] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_";
+  char safe_chars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
 
   uint64_t in = *(uint64_t *)data;
   for (int i = 0; i < 11; i++) {
-    /* Encoding in base63 */
-    out[i] = safe_chars[in % 63lu];
-    in /= 63lu;
+    out[i] = safe_chars[in % 62lu];
+    in /= 62lu;
   }
 }



More information about the Bf-blender-cvs mailing list