diff options
-rw-r--r-- | source/blender/gpu/gawain/vertex_format.c | 6 | ||||
-rw-r--r-- | source/blender/gpu/gawain/vertex_format.h | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/gpu/gawain/vertex_format.c b/source/blender/gpu/gawain/vertex_format.c index 671b979a810..d42398f3a4f 100644 --- a/source/blender/gpu/gawain/vertex_format.c +++ b/source/blender/gpu/gawain/vertex_format.c @@ -120,8 +120,10 @@ unsigned add_attrib(VertexFormat* format, const char* name, VertexCompType comp_ break; #if USE_10_10_10 case COMP_I10: - assert(comp_ct == 3); // 10_10_10 format intended for normals (xyz) or colors (rgb) - assert(fetch_mode == NORMALIZE_INT_TO_FLOAT); + // 10_10_10 format intended for normals (xyz) or colors (rgb) + // extra component packed.w can be manually set to { -2, -1, 0, 1 } + assert(comp_ct == 3 || comp_ct == 4); + assert(fetch_mode == NORMALIZE_INT_TO_FLOAT); // not strictly required, may relax later break; #endif default: diff --git a/source/blender/gpu/gawain/vertex_format.h b/source/blender/gpu/gawain/vertex_format.h index 66477b0cfc7..4ed9e58f376 100644 --- a/source/blender/gpu/gawain/vertex_format.h +++ b/source/blender/gpu/gawain/vertex_format.h @@ -74,7 +74,7 @@ typedef struct { int x : 10; int y : 10; int z : 10; - int w : 2; // ignored for our purposes + int w : 2; // 0 by default, can manually set to { -2, -1, 0, 1 } } PackedNormal; PackedNormal convert_i10_v3(const float data[3]); |