shader: Implement indexed Position and ClipDistances
This commit is contained in:
parent
1d51803169
commit
73cb17f41b
3 changed files with 100 additions and 11 deletions
|
@ -69,7 +69,20 @@ struct ProgramHeader {
|
|||
union {
|
||||
struct {
|
||||
INSERT_PADDING_BYTES_NOINIT(3); // ImapSystemValuesA
|
||||
INSERT_PADDING_BYTES_NOINIT(1); // ImapSystemValuesB
|
||||
|
||||
union {
|
||||
BitField<0, 1, u8> primitive_array_id;
|
||||
BitField<1, 1, u8> rt_array_index;
|
||||
BitField<2, 1, u8> viewport_index;
|
||||
BitField<3, 1, u8> point_size;
|
||||
BitField<4, 1, u8> position_x;
|
||||
BitField<5, 1, u8> position_y;
|
||||
BitField<6, 1, u8> position_z;
|
||||
BitField<7, 1, u8> position_w;
|
||||
BitField<0, 4, u8> first;
|
||||
BitField<4, 4, u8> position;
|
||||
u8 raw;
|
||||
} imap_systemb;
|
||||
|
||||
union {
|
||||
BitField<0, 1, u8> x;
|
||||
|
@ -99,7 +112,20 @@ struct ProgramHeader {
|
|||
INSERT_PADDING_BYTES_NOINIT(5); // ImapFixedFncTexture[10]
|
||||
INSERT_PADDING_BYTES_NOINIT(1); // ImapReserved
|
||||
INSERT_PADDING_BYTES_NOINIT(3); // OmapSystemValuesA
|
||||
INSERT_PADDING_BYTES_NOINIT(1); // OmapSystemValuesB
|
||||
|
||||
union {
|
||||
BitField<0, 1, u8> primitive_array_id;
|
||||
BitField<1, 1, u8> rt_array_index;
|
||||
BitField<2, 1, u8> viewport_index;
|
||||
BitField<3, 1, u8> point_size;
|
||||
BitField<4, 1, u8> position_x;
|
||||
BitField<5, 1, u8> position_y;
|
||||
BitField<6, 1, u8> position_z;
|
||||
BitField<7, 1, u8> position_w;
|
||||
BitField<0, 4, u8> first;
|
||||
BitField<4, 4, u8> position;
|
||||
u8 raw;
|
||||
} omap_systemb;
|
||||
|
||||
union {
|
||||
BitField<0, 1, u8> x;
|
||||
|
@ -148,7 +174,20 @@ struct ProgramHeader {
|
|||
|
||||
struct {
|
||||
INSERT_PADDING_BYTES_NOINIT(3); // ImapSystemValuesA
|
||||
INSERT_PADDING_BYTES_NOINIT(1); // ImapSystemValuesB
|
||||
|
||||
union {
|
||||
BitField<0, 1, u8> primitive_array_id;
|
||||
BitField<1, 1, u8> rt_array_index;
|
||||
BitField<2, 1, u8> viewport_index;
|
||||
BitField<3, 1, u8> point_size;
|
||||
BitField<4, 1, u8> position_x;
|
||||
BitField<5, 1, u8> position_y;
|
||||
BitField<6, 1, u8> position_z;
|
||||
BitField<7, 1, u8> position_w;
|
||||
BitField<0, 4, u8> first;
|
||||
BitField<4, 4, u8> position;
|
||||
u8 raw;
|
||||
} imap_systemb;
|
||||
|
||||
union {
|
||||
BitField<0, 2, PixelImap> x;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue