[Bf-blender-cvs] [7be1928ea19] blender2.8: Gawain: VertexFormat: Cleanup
Clément Foucault
noreply at git.blender.org
Wed Feb 21 15:28:43 CET 2018
Commit: 7be1928ea1986408972007081ec139ee802ed528
Author: Clément Foucault
Date: Tue Feb 20 02:20:40 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB7be1928ea1986408972007081ec139ee802ed528
Gawain: VertexFormat: Cleanup
Reorganize struct elements by size, rename a constant.
===================================================================
M intern/gawain/gawain/gwn_vertex_format.h
M intern/gawain/src/gwn_vertex_format.c
===================================================================
diff --git a/intern/gawain/gawain/gwn_vertex_format.h b/intern/gawain/gawain/gwn_vertex_format.h
index 911c0605ecc..503c2d03c42 100644
--- a/intern/gawain/gawain/gwn_vertex_format.h
+++ b/intern/gawain/gawain/gwn_vertex_format.h
@@ -14,7 +14,7 @@
#include "gwn_common.h"
#define GWN_VERT_ATTR_MAX_LEN 16
-#define MAX_ATTRIB_NAMES 3
+#define GWN_VERT_ATTR_MAX_NAMES 3
#define GWN_VERT_ATTR_NAME_AVERAGE_LEN 11
#define GWN_VERT_ATTR_NAMES_BUF_LEN ((GWN_VERT_ATTR_NAME_AVERAGE_LEN + 1) * GWN_VERT_ATTR_MAX_LEN)
@@ -39,24 +39,24 @@ typedef enum {
} Gwn_VertFetchMode;
typedef struct Gwn_VertAttr {
+ Gwn_VertFetchMode fetch_mode;
Gwn_VertCompType comp_type;
unsigned gl_comp_type;
unsigned comp_ct; // 1 to 4 or 8 or 12 or 16
unsigned sz; // size in bytes, 1 to 64
unsigned offset; // from beginning of vertex, in bytes
- Gwn_VertFetchMode fetch_mode;
- const char* name[MAX_ATTRIB_NAMES];
- unsigned name_ct;
+ unsigned name_ct; // up to GWN_VERT_ATTR_MAX_NAMES
+ const char* name[GWN_VERT_ATTR_MAX_NAMES];
} Gwn_VertAttr;
typedef struct Gwn_VertFormat {
unsigned attrib_ct; // 0 to 16 (GWN_VERT_ATTR_MAX_LEN)
unsigned name_ct; // total count of active vertex attrib
unsigned stride; // stride in bytes, 1 to 256
+ unsigned name_offset;
bool packed;
- Gwn_VertAttr attribs[GWN_VERT_ATTR_MAX_LEN]; // TODO: variable-size attribs array
char names[GWN_VERT_ATTR_NAMES_BUF_LEN];
- unsigned name_offset;
+ Gwn_VertAttr attribs[GWN_VERT_ATTR_MAX_LEN]; // TODO: variable-size attribs array
} Gwn_VertFormat;
void GWN_vertformat_clear(Gwn_VertFormat*);
diff --git a/intern/gawain/src/gwn_vertex_format.c b/intern/gawain/src/gwn_vertex_format.c
index 4694bc22b2b..c180c304d28 100644
--- a/intern/gawain/src/gwn_vertex_format.c
+++ b/intern/gawain/src/gwn_vertex_format.c
@@ -177,7 +177,7 @@ void GWN_vertformat_alias_add(Gwn_VertFormat* format, const char* alias)
Gwn_VertAttr* attrib = format->attribs + (format->attrib_ct - 1);
#if TRUST_NO_ONE
assert(format->name_ct < GWN_VERT_ATTR_MAX_LEN); // there's room for more
- assert(attrib->name_ct < MAX_ATTRIB_NAMES);
+ assert(attrib->name_ct < GWN_VERT_ATTR_MAX_NAMES);
#endif
format->name_ct++; // multiname support
attrib->name[attrib->name_ct++] = copy_attrib_name(format, alias);
More information about the Bf-blender-cvs
mailing list