Gawain: allow use of final 2 bits of 10_10_10_2 format

Requested by @fclem
This commit is contained in:
Mike Erwin 2017-03-02 03:16:02 -05:00
parent b463cd2ab8
commit 869f2940c2
2 changed files with 5 additions and 3 deletions

View File

@ -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:

View File

@ -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]);