[D3D12] DXT5 decompression shader (not used yet)
This commit is contained in:
parent
4d1b3caf8c
commit
bb24521c2b
Binary file not shown.
|
@ -1,11 +1,11 @@
|
||||||
// generated from `xb buildhlsl`
|
// generated from `xb buildhlsl`
|
||||||
// source: texture_load_ctx1.cs.hlsl
|
// source: texture_load_ctx1.cs.hlsl
|
||||||
const uint8_t texture_load_ctx1_cs[] = {
|
const uint8_t texture_load_ctx1_cs[] = {
|
||||||
0x44, 0x58, 0x42, 0x43, 0x7E, 0xC2, 0x29, 0xDA, 0xF8, 0x25, 0x11, 0x52,
|
0x44, 0x58, 0x42, 0x43, 0xED, 0x1A, 0xB0, 0x4F, 0x63, 0xAA, 0x84, 0xCA,
|
||||||
0xE1, 0xBC, 0xD4, 0xC7, 0xF9, 0x11, 0xB6, 0x3E, 0x01, 0x00, 0x00, 0x00,
|
0x1C, 0x81, 0x5A, 0xEB, 0xAD, 0x91, 0x17, 0xA2, 0x01, 0x00, 0x00, 0x00,
|
||||||
0x20, 0x26, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
0xA0, 0x25, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||||
0x54, 0x04, 0x00, 0x00, 0x64, 0x04, 0x00, 0x00, 0x74, 0x04, 0x00, 0x00,
|
0x54, 0x04, 0x00, 0x00, 0x64, 0x04, 0x00, 0x00, 0x74, 0x04, 0x00, 0x00,
|
||||||
0x84, 0x25, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x18, 0x04, 0x00, 0x00,
|
0x04, 0x25, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x18, 0x04, 0x00, 0x00,
|
||||||
0x01, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0x01, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
0x3C, 0x00, 0x00, 0x00, 0x01, 0x05, 0x53, 0x43, 0x00, 0x05, 0x00, 0x00,
|
0x3C, 0x00, 0x00, 0x00, 0x01, 0x05, 0x53, 0x43, 0x00, 0x05, 0x00, 0x00,
|
||||||
0xF0, 0x03, 0x00, 0x00, 0x13, 0x13, 0x44, 0x25, 0x3C, 0x00, 0x00, 0x00,
|
0xF0, 0x03, 0x00, 0x00, 0x13, 0x13, 0x44, 0x25, 0x3C, 0x00, 0x00, 0x00,
|
||||||
|
@ -96,8 +96,8 @@ const uint8_t texture_load_ctx1_cs[] = {
|
||||||
0x30, 0x2E, 0x31, 0x00, 0x49, 0x53, 0x47, 0x4E, 0x08, 0x00, 0x00, 0x00,
|
0x30, 0x2E, 0x31, 0x00, 0x49, 0x53, 0x47, 0x4E, 0x08, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4F, 0x53, 0x47, 0x4E,
|
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4F, 0x53, 0x47, 0x4E,
|
||||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||||
0x53, 0x48, 0x45, 0x58, 0x08, 0x21, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
|
0x53, 0x48, 0x45, 0x58, 0x88, 0x20, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
|
||||||
0x42, 0x08, 0x00, 0x00, 0x6A, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x07,
|
0x22, 0x08, 0x00, 0x00, 0x6A, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x07,
|
||||||
0x46, 0x8E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x46, 0x8E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0xA1, 0x00, 0x00, 0x06, 0x46, 0x7E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0xA1, 0x00, 0x00, 0x06, 0x46, 0x7E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
@ -105,7 +105,7 @@ const uint8_t texture_load_ctx1_cs[] = {
|
||||||
0x9D, 0x00, 0x00, 0x06, 0x46, 0xEE, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x9D, 0x00, 0x00, 0x06, 0x46, 0xEE, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x5F, 0x00, 0x00, 0x02, 0x72, 0x00, 0x02, 0x00, 0x68, 0x00, 0x00, 0x02,
|
0x5F, 0x00, 0x00, 0x02, 0x72, 0x00, 0x02, 0x00, 0x68, 0x00, 0x00, 0x02,
|
||||||
0x0D, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00,
|
0x0C, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00,
|
||||||
0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x06,
|
0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x06,
|
||||||
0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x02, 0x00,
|
0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x02, 0x00,
|
||||||
0x01, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x04,
|
0x01, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x04,
|
||||||
|
@ -594,104 +594,122 @@ const uint8_t texture_load_ctx1_cs[] = {
|
||||||
0x1E, 0x00, 0x00, 0x09, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x1E, 0x00, 0x00, 0x09, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x80, 0x30, 0x00,
|
0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x80, 0x30, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00,
|
0x36, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x07,
|
0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x30, 0x00,
|
0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x82, 0x00, 0x10, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x36, 0x00, 0x00, 0x05, 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x36, 0x00, 0x00, 0x05, 0x12, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||||
0x1A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05,
|
0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05,
|
||||||
0x12, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00,
|
0x22, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x22, 0x00, 0x10, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x01, 0x50, 0x00, 0x00, 0x07,
|
||||||
0x05, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x42, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00,
|
||||||
0x30, 0x00, 0x00, 0x01, 0x50, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00,
|
0x04, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||||
0x05, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00,
|
0x03, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||||
0x01, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 0x03,
|
0x29, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||||
0x2A, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14,
|
0x1A, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00,
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
0x03, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00,
|
||||||
0x1D, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00,
|
0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
0x1D, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0xA6, 0x0A, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x05,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
0x56, 0x05, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||||
0x06, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00,
|
|
||||||
0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00,
|
|
||||||
0x06, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A,
|
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
|
||||||
0x55, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00,
|
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00,
|
|
||||||
0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00,
|
|
||||||
0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00,
|
|
||||||
0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x08,
|
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A,
|
||||||
0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00,
|
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00,
|
|
||||||
0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00,
|
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x08, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00,
|
|
||||||
0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00,
|
|
||||||
0x56, 0x05, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A,
|
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
0x55, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00,
|
0x26, 0x00, 0x00, 0x08, 0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00,
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00,
|
0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||||
0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00,
|
0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09,
|
||||||
0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00,
|
0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x08,
|
0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x0F,
|
||||||
|
0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
|
0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
|
0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
|
0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
|
0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x0F,
|
||||||
|
0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
|
0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
|
0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
|
0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
|
0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x08,
|
||||||
0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00,
|
0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00,
|
0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00,
|
||||||
0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00,
|
0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
0x09, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00,
|
0x09, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00,
|
||||||
0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00,
|
0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
0xA6, 0x0A, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A,
|
0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||||
0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0x06, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00,
|
||||||
0x55, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00,
|
0x0A, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00,
|
0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00,
|
0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||||
0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00,
|
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0x05, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x08, 0x00, 0xD0, 0x00, 0x00,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x08,
|
|
||||||
0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00,
|
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x0A, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00,
|
|
||||||
0x09, 0x00, 0x00, 0x00, 0x86, 0x0D, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00,
|
|
||||||
0x86, 0x0D, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x86, 0x0D, 0x10, 0x00,
|
|
||||||
0x0A, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00,
|
|
||||||
0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00,
|
|
||||||
0xF6, 0x0F, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A,
|
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
|
0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00,
|
||||||
|
0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||||
|
0x86, 0x0D, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x86, 0x0D, 0x10, 0x00,
|
||||||
|
0x03, 0x00, 0x00, 0x00, 0x86, 0x0D, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00,
|
||||||
|
0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||||
|
0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
|
0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
|
0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||||
|
0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||||
|
0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||||
|
0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
|
0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
|
0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||||
|
0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||||
|
0x26, 0x00, 0x00, 0x08, 0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00,
|
||||||
|
0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09,
|
||||||
|
0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x86, 0x0D, 0x10, 0x00,
|
||||||
|
0x06, 0x00, 0x00, 0x00, 0x86, 0x0D, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
|
0x86, 0x0D, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05,
|
||||||
|
0x52, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x01, 0x10, 0x00,
|
||||||
|
0x07, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0xA2, 0x00, 0x10, 0x00,
|
||||||
|
0x06, 0x00, 0x00, 0x00, 0x06, 0x08, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||||
|
0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00,
|
||||||
|
0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
|
0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00,
|
||||||
|
0xFF, 0x07, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x0B, 0xF2, 0x00, 0x10, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
0x0A, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0x0A, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
0x55, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0xF6, 0x0F, 0x10, 0x00,
|
0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00,
|
0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||||
|
0x10, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x0B, 0xF2, 0x00, 0x10, 0x00,
|
||||||
|
0x06, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
|
0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
|
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
|
0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||||
|
0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
|
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||||
|
0x08, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00,
|
||||||
0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||||
0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x08,
|
0x52, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x01, 0x10, 0x00,
|
||||||
0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
0x08, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0xA2, 0x00, 0x10, 0x00,
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
0x0A, 0x00, 0x00, 0x00, 0x06, 0x08, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||||
0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00,
|
0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00,
|
||||||
0x06, 0x00, 0x00, 0x00, 0x86, 0x0D, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00,
|
0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
0x86, 0x0D, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x86, 0x0D, 0x10, 0x00,
|
|
||||||
0x06, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x52, 0x00, 0x10, 0x00,
|
|
||||||
0x0A, 0x00, 0x00, 0x00, 0x06, 0x01, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00,
|
|
||||||
0x36, 0x00, 0x00, 0x05, 0xA2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00,
|
|
||||||
0x06, 0x08, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A,
|
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x0A, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00,
|
|
||||||
0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00,
|
0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00,
|
||||||
0x4E, 0x00, 0x00, 0x0B, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00,
|
0xFF, 0x07, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x0B, 0xF2, 0x00, 0x10, 0x00,
|
||||||
0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00,
|
0x0B, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0x0B, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A,
|
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
|
0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00,
|
||||||
|
0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
|
0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||||
|
0x10, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00,
|
||||||
|
0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||||
|
0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A,
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
0x0A, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
0x0A, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||||
0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||||
|
@ -700,119 +718,90 @@ const uint8_t texture_load_ctx1_cs[] = {
|
||||||
0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A,
|
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A,
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
0x0A, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
0x0A, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
|
||||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
|
||||||
0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00,
|
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x0B, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x52, 0x00, 0x10, 0x00,
|
|
||||||
0x0B, 0x00, 0x00, 0x00, 0x06, 0x01, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00,
|
|
||||||
0x36, 0x00, 0x00, 0x05, 0xA2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00,
|
|
||||||
0x06, 0x08, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A,
|
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x0B, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00,
|
|
||||||
0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00,
|
|
||||||
0x4E, 0x00, 0x00, 0x0B, 0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00,
|
|
||||||
0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A,
|
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x0C, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
|
||||||
0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
|
||||||
0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00,
|
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x0C, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00,
|
|
||||||
0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00,
|
|
||||||
0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
|
||||||
0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x0B,
|
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00,
|
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
|
||||||
0x03, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00,
|
|
||||||
0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00,
|
|
||||||
0x02, 0x40, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
|
|
||||||
0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07,
|
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00,
|
|
||||||
0x36, 0x00, 0x00, 0x05, 0x52, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00,
|
|
||||||
0xA6, 0x0B, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A,
|
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00,
|
|
||||||
0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00,
|
|
||||||
0x4E, 0x00, 0x00, 0x0B, 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00,
|
|
||||||
0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A,
|
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
|
||||||
0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
|
||||||
0x4E, 0x00, 0x00, 0x0B, 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00,
|
|
||||||
0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A,
|
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
|
||||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
|
||||||
0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00,
|
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x09, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x52, 0x00, 0x10, 0x00,
|
|
||||||
0x06, 0x00, 0x00, 0x00, 0xA6, 0x0B, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00,
|
|
||||||
0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00,
|
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
|
||||||
0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00,
|
|
||||||
0xFF, 0x07, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x0B, 0xF2, 0x00, 0x10, 0x00,
|
|
||||||
0x08, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
|
||||||
0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00,
|
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
|
||||||
0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
|
||||||
0x10, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00,
|
|
||||||
0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00,
|
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A,
|
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
|
||||||
0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
|
||||||
0x4E, 0x00, 0x00, 0x0B, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
|
||||||
0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
|
||||||
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A,
|
|
||||||
0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
|
||||||
0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
|
|
||||||
0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
|
0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
|
||||||
0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||||
0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
0x07, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x08, 0xF2, 0xE0, 0x21, 0x00,
|
0x0A, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x52, 0x00, 0x10, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00,
|
0x09, 0x00, 0x00, 0x00, 0xA6, 0x0B, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00,
|
||||||
0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00,
|
0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00,
|
||||||
0x1E, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00,
|
0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
0x0A, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00,
|
0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00,
|
||||||
0x10, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x08, 0xF2, 0xE0, 0x21, 0x00,
|
0xFF, 0x07, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x0B, 0xF2, 0x00, 0x10, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00,
|
0x07, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00,
|
0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
0x1E, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00,
|
0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||||
0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00,
|
0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
0x05, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||||
0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x04, 0x03,
|
0x10, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x0B, 0xF2, 0x00, 0x10, 0x00,
|
||||||
0x2A, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x01,
|
0x09, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
0x15, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x09, 0x12, 0x00, 0x10, 0x00,
|
0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00,
|
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x22, 0x00, 0x10, 0x00,
|
0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
0x05, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00,
|
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||||
0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x01,
|
0x08, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00,
|
||||||
0x3E, 0x00, 0x00, 0x01, 0x53, 0x54, 0x41, 0x54, 0x94, 0x00, 0x00, 0x00,
|
0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00,
|
||||||
0xE3, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05,
|
||||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00,
|
0x52, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0xA6, 0x0B, 0x10, 0x00,
|
||||||
0x52, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00,
|
||||||
|
0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||||
|
0x02, 0x40, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00,
|
||||||
|
0xFF, 0x07, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x0B,
|
||||||
|
0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00,
|
||||||
|
0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
|
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
|
0x03, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00,
|
||||||
|
0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||||
|
0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||||
|
0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07,
|
||||||
|
0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
|
0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||||
|
0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||||
|
0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
|
0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||||
|
0x10, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x0B, 0xF2, 0x00, 0x10, 0x00,
|
||||||
|
0x05, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
|
0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
|
0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||||
|
0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||||
|
0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00,
|
||||||
|
0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
|
||||||
|
0x18, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00,
|
||||||
|
0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||||
|
0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x08,
|
||||||
|
0xF2, 0xE0, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
|
0x06, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00,
|
||||||
|
0x04, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||||
|
0x01, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x08,
|
||||||
|
0xF2, 0xE0, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x2A, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00,
|
||||||
|
0x05, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x07,
|
||||||
|
0x42, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||||
|
0x3E, 0x00, 0x00, 0x01, 0x15, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x09,
|
||||||
|
0x12, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00,
|
||||||
|
0x04, 0x00, 0x00, 0x00, 0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07,
|
||||||
|
0x22, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00,
|
||||||
|
0x04, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x16, 0x00, 0x00, 0x01, 0x3E, 0x00, 0x00, 0x01, 0x53, 0x54, 0x41, 0x54,
|
||||||
|
0x94, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x3D, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||||
|
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x02, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
};
|
};
|
||||||
|
|
|
@ -47,7 +47,7 @@ dcl_constantbuffer CB0[0:0][4], immediateIndexed, space=0
|
||||||
dcl_resource_raw T0[0:0], space=0
|
dcl_resource_raw T0[0:0], space=0
|
||||||
dcl_uav_raw U0[0:0], space=0
|
dcl_uav_raw U0[0:0], space=0
|
||||||
dcl_input vThreadID.xyz
|
dcl_input vThreadID.xyz
|
||||||
dcl_temps 13
|
dcl_temps 12
|
||||||
dcl_thread_group 8, 32, 1
|
dcl_thread_group 8, 32, 1
|
||||||
ishl r0.x, vThreadID.x, l(2)
|
ishl r0.x, vThreadID.x, l(2)
|
||||||
mov r0.yz, vThreadID.yyzy
|
mov r0.yz, vThreadID.yyzy
|
||||||
|
@ -197,57 +197,50 @@ ishl r0.x, r0.x, l(1)
|
||||||
imad r0.z, vThreadID.z, CB0[0][1].y, r0.y
|
imad r0.z, vThreadID.z, CB0[0][1].y, r0.y
|
||||||
imad r0.x, r0.z, CB0[0][0].w, r0.x
|
imad r0.x, r0.z, CB0[0][0].w, r0.x
|
||||||
iadd r0.x, r0.x, CB0[0][0].z
|
iadd r0.x, r0.x, CB0[0][0].z
|
||||||
not r4.xyzw, r2.xyzw
|
|
||||||
mov r0.z, CB0[0][1].y
|
mov r0.z, CB0[0][1].y
|
||||||
mov r0.w, r0.y
|
mov r0.w, r0.y
|
||||||
mov r5.x, r0.x
|
mov r4.x, r0.x
|
||||||
mov r5.y, l(0)
|
mov r4.y, l(0)
|
||||||
loop
|
loop
|
||||||
uge r5.z, r5.y, l(4)
|
uge r4.z, r4.y, l(4)
|
||||||
breakc_nz r5.z
|
breakc_nz r4.z
|
||||||
bfi r6.xyzw, l(29, 29, 29, 29), l(3, 3, 3, 3), r5.yyyy, l(0, 2, 4, 6)
|
ishl r4.z, r4.y, l(3)
|
||||||
ushr r7.xyzw, r4.xyzw, r6.xxxx
|
ushr r5.xyzw, r2.xyzw, r4.zzzz
|
||||||
and r7.xyzw, r7.xyzw, l(3, 3, 3, 3)
|
not r6.xyzw, r5.xyzw
|
||||||
ushr r8.xyzw, r2.xyzw, r6.xxxx
|
and r7.xyzw, r6.xyzw, l(3, 3, 3, 3)
|
||||||
and r8.xyzw, r8.xyzw, l(3, 3, 3, 3)
|
and r8.xyzw, r5.xyzw, l(3, 3, 3, 3)
|
||||||
imul null, r8.xyzw, r1.xyzw, r8.xyzw
|
imul null, r8.xyzw, r1.xyzw, r8.xyzw
|
||||||
imad r7.xyzw, r7.xyzw, r3.xyzw, r8.xyzw
|
imad r7.xyzw, r7.xyzw, r3.xyzw, r8.xyzw
|
||||||
ushr r8.xyzw, r4.xyzw, r6.yyyy
|
ubfe r8.xyzw, l(2, 2, 2, 2), l(2, 2, 2, 2), r6.xyzw
|
||||||
and r8.xyzw, r8.xyzw, l(3, 3, 3, 3)
|
ubfe r9.xyzw, l(2, 2, 2, 2), l(2, 2, 2, 2), r5.xyzw
|
||||||
ushr r9.xyzw, r2.xyzw, r6.yyyy
|
|
||||||
and r9.xyzw, r9.xyzw, l(3, 3, 3, 3)
|
|
||||||
imul null, r9.xyzw, r1.xyzw, r9.xyzw
|
imul null, r9.xyzw, r1.xyzw, r9.xyzw
|
||||||
imad r8.xyzw, r8.xyzw, r3.xyzw, r9.xyzw
|
imad r8.xyzw, r8.xyzw, r3.xyzw, r9.xyzw
|
||||||
ushr r9.xyzw, r4.xyzw, r6.zzzz
|
ubfe r9.xyzw, l(2, 2, 2, 2), l(4, 4, 4, 4), r6.xyzw
|
||||||
and r9.xyzw, r9.xyzw, l(3, 3, 3, 3)
|
ubfe r10.xyzw, l(2, 2, 2, 2), l(4, 4, 4, 4), r5.xyzw
|
||||||
ushr r10.xyzw, r2.xyzw, r6.zzzz
|
|
||||||
and r10.xyzw, r10.xyzw, l(3, 3, 3, 3)
|
|
||||||
imul null, r10.xyzw, r1.xyzw, r10.xyzw
|
imul null, r10.xyzw, r1.xyzw, r10.xyzw
|
||||||
imad r9.xyzw, r9.xzyw, r3.xzyw, r10.xzyw
|
imad r9.xyzw, r9.xzyw, r3.xzyw, r10.xzyw
|
||||||
ushr r10.xyzw, r4.xyzw, r6.wwww
|
ubfe r6.xyzw, l(2, 2, 2, 2), l(6, 6, 6, 6), r6.xyzw
|
||||||
and r10.xyzw, r10.xyzw, l(3, 3, 3, 3)
|
ubfe r5.xyzw, l(2, 2, 2, 2), l(6, 6, 6, 6), r5.xyzw
|
||||||
ushr r6.xyzw, r2.xyzw, r6.wwww
|
imul null, r5.xyzw, r1.xyzw, r5.xyzw
|
||||||
and r6.xyzw, r6.xyzw, l(3, 3, 3, 3)
|
imad r5.xyzw, r6.xzyw, r3.xzyw, r5.xzyw
|
||||||
imul null, r6.xyzw, r1.xyzw, r6.xyzw
|
mov r6.xz, r7.xxyx
|
||||||
imad r6.xyzw, r10.xzyw, r3.xzyw, r6.xzyw
|
mov r6.yw, r9.xxxz
|
||||||
mov r10.xz, r7.xxyx
|
and r10.xyzw, r6.xyzw, l(2047, 2047, 2047, 2047)
|
||||||
mov r10.yw, r9.xxxz
|
udiv r10.xyzw, null, r10.xyzw, l(3, 3, 3, 3)
|
||||||
|
ushr r6.xyzw, r6.xyzw, l(16, 16, 16, 16)
|
||||||
|
udiv r6.xyzw, null, r6.xyzw, l(3, 3, 3, 3)
|
||||||
|
ishl r6.xyzw, r6.xyzw, l(8, 8, 8, 8)
|
||||||
|
or r6.xyzw, r6.xyzw, r10.xyzw
|
||||||
|
mov r10.xz, r8.xxyx
|
||||||
|
mov r10.yw, r5.xxxz
|
||||||
and r11.xyzw, r10.xyzw, l(2047, 2047, 2047, 2047)
|
and r11.xyzw, r10.xyzw, l(2047, 2047, 2047, 2047)
|
||||||
udiv r11.xyzw, null, r11.xyzw, l(3, 3, 3, 3)
|
udiv r11.xyzw, null, r11.xyzw, l(3, 3, 3, 3)
|
||||||
|
ishl r11.xyzw, r11.xyzw, l(16, 16, 16, 16)
|
||||||
|
or r6.xyzw, r6.xyzw, r11.xyzw
|
||||||
ushr r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
|
ushr r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
|
||||||
udiv r10.xyzw, null, r10.xyzw, l(3, 3, 3, 3)
|
udiv r10.xyzw, null, r10.xyzw, l(3, 3, 3, 3)
|
||||||
ishl r10.xyzw, r10.xyzw, l(8, 8, 8, 8)
|
ishl r10.xyzw, r10.xyzw, l(24, 24, 24, 24)
|
||||||
or r10.xyzw, r10.xyzw, r11.xyzw
|
or r6.xyzw, r6.xyzw, r10.xyzw
|
||||||
mov r11.xz, r8.xxyx
|
|
||||||
mov r11.yw, r6.xxxz
|
|
||||||
and r12.xyzw, r11.xyzw, l(2047, 2047, 2047, 2047)
|
|
||||||
udiv r12.xyzw, null, r12.xyzw, l(3, 3, 3, 3)
|
|
||||||
ishl r12.xyzw, r12.xyzw, l(16, 16, 16, 16)
|
|
||||||
or r10.xyzw, r10.xyzw, r12.xyzw
|
|
||||||
ushr r11.xyzw, r11.xyzw, l(16, 16, 16, 16)
|
|
||||||
udiv r11.xyzw, null, r11.xyzw, l(3, 3, 3, 3)
|
|
||||||
ishl r11.xyzw, r11.xyzw, l(24, 24, 24, 24)
|
|
||||||
or r10.xyzw, r10.xyzw, r11.xyzw
|
|
||||||
mov r9.xz, r7.zzwz
|
mov r9.xz, r7.zzwz
|
||||||
and r7.xyzw, r9.xyzw, l(2047, 2047, 2047, 2047)
|
and r7.xyzw, r9.xyzw, l(2047, 2047, 2047, 2047)
|
||||||
udiv r7.xyzw, null, r7.xyzw, l(3, 3, 3, 3)
|
udiv r7.xyzw, null, r7.xyzw, l(3, 3, 3, 3)
|
||||||
|
@ -255,25 +248,25 @@ loop
|
||||||
udiv r9.xyzw, null, r9.xyzw, l(3, 3, 3, 3)
|
udiv r9.xyzw, null, r9.xyzw, l(3, 3, 3, 3)
|
||||||
ishl r9.xyzw, r9.xyzw, l(8, 8, 8, 8)
|
ishl r9.xyzw, r9.xyzw, l(8, 8, 8, 8)
|
||||||
or r7.xyzw, r7.xyzw, r9.xyzw
|
or r7.xyzw, r7.xyzw, r9.xyzw
|
||||||
mov r6.xz, r8.zzwz
|
mov r5.xz, r8.zzwz
|
||||||
and r8.xyzw, r6.xyzw, l(2047, 2047, 2047, 2047)
|
and r8.xyzw, r5.xyzw, l(2047, 2047, 2047, 2047)
|
||||||
udiv r8.xyzw, null, r8.xyzw, l(3, 3, 3, 3)
|
udiv r8.xyzw, null, r8.xyzw, l(3, 3, 3, 3)
|
||||||
ishl r8.xyzw, r8.xyzw, l(16, 16, 16, 16)
|
ishl r8.xyzw, r8.xyzw, l(16, 16, 16, 16)
|
||||||
or r7.xyzw, r7.xyzw, r8.xyzw
|
or r7.xyzw, r7.xyzw, r8.xyzw
|
||||||
ushr r6.xyzw, r6.xyzw, l(16, 16, 16, 16)
|
ushr r5.xyzw, r5.xyzw, l(16, 16, 16, 16)
|
||||||
udiv r6.xyzw, null, r6.xyzw, l(3, 3, 3, 3)
|
udiv r5.xyzw, null, r5.xyzw, l(3, 3, 3, 3)
|
||||||
ishl r6.xyzw, r6.xyzw, l(24, 24, 24, 24)
|
ishl r5.xyzw, r5.xyzw, l(24, 24, 24, 24)
|
||||||
or r6.xyzw, r6.xyzw, r7.xyzw
|
or r5.xyzw, r5.xyzw, r7.xyzw
|
||||||
store_raw U0[0].xyzw, r5.x, r10.xyzw
|
store_raw U0[0].xyzw, r4.x, r6.xyzw
|
||||||
iadd r5.z, r5.x, l(16)
|
iadd r4.z, r4.x, l(16)
|
||||||
store_raw U0[0].xyzw, r5.z, r6.xyzw
|
store_raw U0[0].xyzw, r4.z, r5.xyzw
|
||||||
iadd r0.w, r0.w, l(1)
|
iadd r0.w, r0.w, l(1)
|
||||||
uge r5.z, r0.w, r0.z
|
uge r4.z, r0.w, r0.z
|
||||||
if_nz r5.z
|
if_nz r4.z
|
||||||
ret
|
ret
|
||||||
endif
|
endif
|
||||||
iadd r5.x, r5.x, CB0[0][0].w
|
iadd r4.x, r4.x, CB0[0][0].w
|
||||||
iadd r5.y, r5.y, l(1)
|
iadd r4.y, r4.y, l(1)
|
||||||
endloop
|
endloop
|
||||||
ret
|
ret
|
||||||
// Approximately 227 instruction slots used
|
// Approximately 220 instruction slots used
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -228,26 +228,60 @@ ishl r0.x, r0.x, l(2)
|
||||||
imad r0.z, vThreadID.z, CB0[0][1].y, r0.y
|
imad r0.z, vThreadID.z, CB0[0][1].y, r0.y
|
||||||
imad r0.x, r0.z, CB0[0][0].w, r0.x
|
imad r0.x, r0.z, CB0[0][0].w, r0.x
|
||||||
iadd r0.x, r0.x, CB0[0][0].z
|
iadd r0.x, r0.x, CB0[0][0].z
|
||||||
not r6.xyzw, r3.xyzw
|
|
||||||
ushr r7.xyzw, r2.xyzw, l(1, 1, 1, 1)
|
|
||||||
and r8.xyzw, r2.xyzw, r7.xyzw
|
|
||||||
and r8.xyzw, r8.xyzw, l(0x55555555, 0x55555555, 0x55555555, 0x55555555)
|
|
||||||
or r7.xyzw, r2.xyzw, r7.xyzw
|
|
||||||
and r7.xyzw, r7.xyzw, l(0x55555555, 0x55555555, 0x55555555, 0x55555555)
|
|
||||||
mov r0.z, CB0[0][1].y
|
mov r0.z, CB0[0][1].y
|
||||||
mov r0.w, r0.y
|
mov r0.w, r0.y
|
||||||
mov r9.x, r0.x
|
mov r6.x, r0.x
|
||||||
mov r9.y, l(0)
|
mov r6.y, l(0)
|
||||||
loop
|
loop
|
||||||
uge r9.z, r9.y, l(4)
|
uge r6.z, r6.y, l(4)
|
||||||
breakc_nz r9.z
|
breakc_nz r6.z
|
||||||
bfi r10.xyzw, l(29, 29, 29, 29), l(3, 3, 3, 3), r9.yyyy, l(0, 2, 4, 6)
|
ishl r6.z, r6.y, l(3)
|
||||||
ushr r11.xyzw, r6.xxxx, r10.xyzw
|
ushr r7.xyzw, r3.wxyz, r6.zzzz
|
||||||
|
not r8.xyzw, r7.xyzw
|
||||||
|
ushr r9.yzw, r8.yyyy, l(0, 2, 4, 6)
|
||||||
|
mov r9.x, r8.y
|
||||||
|
and r9.xyzw, r9.xyzw, l(3, 3, 3, 3)
|
||||||
|
ushr r10.yzw, r7.yyyy, l(0, 2, 4, 6)
|
||||||
|
mov r10.x, r7.y
|
||||||
|
and r10.xyzw, r10.xyzw, l(3, 3, 3, 3)
|
||||||
|
imul null, r10.xyzw, r5.xxxx, r10.xyzw
|
||||||
|
imad r9.xyzw, r9.xyzw, r4.xxxx, r10.xyzw
|
||||||
|
and r10.xyzw, r9.xyzw, l(1023, 1023, 1023, 1023)
|
||||||
|
udiv r10.xyzw, null, r10.xyzw, l(3, 3, 3, 3)
|
||||||
|
ubfe r11.xyzw, l(10, 10, 10, 10), l(10, 10, 10, 10), r9.xyzw
|
||||||
|
udiv r11.xyzw, null, r11.xyzw, l(3, 3, 3, 3)
|
||||||
|
ishl r11.xyzw, r11.xyzw, l(8, 8, 8, 8)
|
||||||
|
or r10.xyzw, r10.xyzw, r11.xyzw
|
||||||
|
ushr r9.xyzw, r9.xyzw, l(20, 20, 20, 20)
|
||||||
|
udiv r9.xyzw, null, r9.xyzw, l(3, 3, 3, 3)
|
||||||
|
ishl r9.xyzw, r9.xyzw, l(16, 16, 16, 16)
|
||||||
|
or r9.xyzw, r9.xyzw, r10.xyzw
|
||||||
|
ushr r10.yzw, r8.zzzz, l(0, 2, 4, 6)
|
||||||
|
mov r10.x, r8.z
|
||||||
|
and r10.xyzw, r10.xyzw, l(3, 3, 3, 3)
|
||||||
|
ushr r11.yzw, r7.zzzz, l(0, 2, 4, 6)
|
||||||
|
mov r11.x, r7.z
|
||||||
and r11.xyzw, r11.xyzw, l(3, 3, 3, 3)
|
and r11.xyzw, r11.xyzw, l(3, 3, 3, 3)
|
||||||
ushr r12.xyzw, r3.xxxx, r10.xyzw
|
imul null, r11.xyzw, r5.yyyy, r11.xyzw
|
||||||
|
imad r10.xyzw, r10.xyzw, r4.yyyy, r11.xyzw
|
||||||
|
and r11.xyzw, r10.xyzw, l(1023, 1023, 1023, 1023)
|
||||||
|
udiv r11.xyzw, null, r11.xyzw, l(3, 3, 3, 3)
|
||||||
|
ubfe r12.xyzw, l(10, 10, 10, 10), l(10, 10, 10, 10), r10.xyzw
|
||||||
|
udiv r12.xyzw, null, r12.xyzw, l(3, 3, 3, 3)
|
||||||
|
ishl r12.xyzw, r12.xyzw, l(8, 8, 8, 8)
|
||||||
|
or r11.xyzw, r11.xyzw, r12.xyzw
|
||||||
|
ushr r10.xyzw, r10.xyzw, l(20, 20, 20, 20)
|
||||||
|
udiv r10.xyzw, null, r10.xyzw, l(3, 3, 3, 3)
|
||||||
|
ishl r10.xyzw, r10.xyzw, l(16, 16, 16, 16)
|
||||||
|
or r10.xyzw, r10.xyzw, r11.xyzw
|
||||||
|
ushr r11.yzw, r8.wwww, l(0, 2, 4, 6)
|
||||||
|
mov r11.x, r8.w
|
||||||
|
and r11.xyzw, r11.xyzw, l(3, 3, 3, 3)
|
||||||
|
ushr r12.yzw, r7.wwww, l(0, 2, 4, 6)
|
||||||
|
mov r12.x, r7.w
|
||||||
and r12.xyzw, r12.xyzw, l(3, 3, 3, 3)
|
and r12.xyzw, r12.xyzw, l(3, 3, 3, 3)
|
||||||
imul null, r12.xyzw, r5.xxxx, r12.xyzw
|
imul null, r12.xyzw, r5.zzzz, r12.xyzw
|
||||||
imad r11.xyzw, r11.xyzw, r4.xxxx, r12.xyzw
|
imad r11.xyzw, r11.xyzw, r4.zzzz, r12.xyzw
|
||||||
and r12.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
|
and r12.xyzw, r11.xyzw, l(1023, 1023, 1023, 1023)
|
||||||
udiv r12.xyzw, null, r12.xyzw, l(3, 3, 3, 3)
|
udiv r12.xyzw, null, r12.xyzw, l(3, 3, 3, 3)
|
||||||
ubfe r13.xyzw, l(10, 10, 10, 10), l(10, 10, 10, 10), r11.xyzw
|
ubfe r13.xyzw, l(10, 10, 10, 10), l(10, 10, 10, 10), r11.xyzw
|
||||||
|
@ -258,68 +292,43 @@ loop
|
||||||
udiv r11.xyzw, null, r11.xyzw, l(3, 3, 3, 3)
|
udiv r11.xyzw, null, r11.xyzw, l(3, 3, 3, 3)
|
||||||
ishl r11.xyzw, r11.xyzw, l(16, 16, 16, 16)
|
ishl r11.xyzw, r11.xyzw, l(16, 16, 16, 16)
|
||||||
or r11.xyzw, r11.xyzw, r12.xyzw
|
or r11.xyzw, r11.xyzw, r12.xyzw
|
||||||
ushr r12.xyzw, r6.yyyy, r10.xyzw
|
ushr r8.yzw, r8.xxxx, l(0, 2, 4, 6)
|
||||||
and r12.xyzw, r12.xyzw, l(3, 3, 3, 3)
|
and r8.xyzw, r8.xyzw, l(3, 3, 3, 3)
|
||||||
ushr r13.xyzw, r3.yyyy, r10.xyzw
|
ushr r7.yzw, r7.xxxx, l(0, 2, 4, 6)
|
||||||
and r13.xyzw, r13.xyzw, l(3, 3, 3, 3)
|
and r7.xyzw, r7.xyzw, l(3, 3, 3, 3)
|
||||||
imul null, r13.xyzw, r5.yyyy, r13.xyzw
|
imul null, r7.xyzw, r5.wwww, r7.xyzw
|
||||||
imad r12.xyzw, r12.xyzw, r4.yyyy, r13.xyzw
|
imad r7.xyzw, r8.xyzw, r4.wwww, r7.xyzw
|
||||||
and r13.xyzw, r12.xyzw, l(1023, 1023, 1023, 1023)
|
and r8.xyzw, r7.xyzw, l(1023, 1023, 1023, 1023)
|
||||||
udiv r13.xyzw, null, r13.xyzw, l(3, 3, 3, 3)
|
udiv r8.xyzw, null, r8.xyzw, l(3, 3, 3, 3)
|
||||||
ubfe r14.xyzw, l(10, 10, 10, 10), l(10, 10, 10, 10), r12.xyzw
|
ubfe r12.xyzw, l(10, 10, 10, 10), l(10, 10, 10, 10), r7.xyzw
|
||||||
udiv r14.xyzw, null, r14.xyzw, l(3, 3, 3, 3)
|
|
||||||
ishl r14.xyzw, r14.xyzw, l(8, 8, 8, 8)
|
|
||||||
or r13.xyzw, r13.xyzw, r14.xyzw
|
|
||||||
ushr r12.xyzw, r12.xyzw, l(20, 20, 20, 20)
|
|
||||||
udiv r12.xyzw, null, r12.xyzw, l(3, 3, 3, 3)
|
udiv r12.xyzw, null, r12.xyzw, l(3, 3, 3, 3)
|
||||||
ishl r12.xyzw, r12.xyzw, l(16, 16, 16, 16)
|
ishl r12.xyzw, r12.xyzw, l(8, 8, 8, 8)
|
||||||
or r12.xyzw, r12.xyzw, r13.xyzw
|
or r8.xyzw, r8.xyzw, r12.xyzw
|
||||||
ushr r13.xyzw, r6.zzzz, r10.xyzw
|
ushr r7.xyzw, r7.xyzw, l(20, 20, 20, 20)
|
||||||
and r13.xyzw, r13.xyzw, l(3, 3, 3, 3)
|
udiv r7.xyzw, null, r7.xyzw, l(3, 3, 3, 3)
|
||||||
ushr r14.xyzw, r3.zzzz, r10.xyzw
|
ishl r7.xyzw, r7.xyzw, l(16, 16, 16, 16)
|
||||||
and r14.xyzw, r14.xyzw, l(3, 3, 3, 3)
|
or r7.xyzw, r7.xyzw, r8.xyzw
|
||||||
imul null, r14.xyzw, r5.zzzz, r14.xyzw
|
or r8.xyzw, r9.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000)
|
||||||
imad r13.xyzw, r13.xyzw, r4.zzzz, r14.xyzw
|
or r9.xyzw, r10.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000)
|
||||||
and r14.xyzw, r13.xyzw, l(1023, 1023, 1023, 1023)
|
or r10.xyzw, r11.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000)
|
||||||
udiv r14.xyzw, null, r14.xyzw, l(3, 3, 3, 3)
|
or r7.xyzw, r7.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000)
|
||||||
ubfe r15.xyzw, l(10, 10, 10, 10), l(10, 10, 10, 10), r13.xyzw
|
ushr r11.xyzw, r2.wxyz, r6.zzzz
|
||||||
udiv r15.xyzw, null, r15.xyzw, l(3, 3, 3, 3)
|
ushr r12.xyzw, r11.yzwx, l(1, 1, 1, 1)
|
||||||
ishl r15.xyzw, r15.xyzw, l(8, 8, 8, 8)
|
and r13.xyzw, r11.xyzw, r12.wxyz
|
||||||
or r14.xyzw, r14.xyzw, r15.xyzw
|
and r14.xyzw, r13.yzwx, l(0x55555555, 0x55555555, 0x55555555, 0x55555555)
|
||||||
ushr r13.xyzw, r13.xyzw, l(20, 20, 20, 20)
|
or r12.xyzw, r11.xyzw, r12.wxyz
|
||||||
udiv r13.xyzw, null, r13.xyzw, l(3, 3, 3, 3)
|
and r15.xyzw, r12.yzwx, l(0x55555555, 0x55555555, 0x55555555, 0x55555555)
|
||||||
ishl r13.xyzw, r13.xyzw, l(16, 16, 16, 16)
|
ushr r16.yzw, r11.yyyy, l(0, 2, 4, 6)
|
||||||
or r13.xyzw, r13.xyzw, r14.xyzw
|
mov r16.x, r11.y
|
||||||
ushr r14.xyzw, r6.wwww, r10.xyzw
|
and r17.xyzw, r16.xyzw, l(1, 1, 1, 1)
|
||||||
and r14.xyzw, r14.xyzw, l(3, 3, 3, 3)
|
ubfe r16.xyzw, l(1, 1, 1, 1), l(1, 3, 5, 7), r16.xxxx
|
||||||
ushr r15.xyzw, r3.wwww, r10.xyzw
|
imul null, r16.xyzw, r5.xxxx, r16.xyzw
|
||||||
and r15.xyzw, r15.xyzw, l(3, 3, 3, 3)
|
imad r16.xyzw, r17.xyzw, r4.xxxx, r16.xyzw
|
||||||
imul null, r15.xyzw, r5.wwww, r15.xyzw
|
ushr r17.yzw, r14.xxxx, l(0, 2, 4, 6)
|
||||||
imad r14.xyzw, r14.xyzw, r4.wwww, r15.xyzw
|
mov r17.x, r13.y
|
||||||
and r15.xyzw, r14.xyzw, l(1023, 1023, 1023, 1023)
|
|
||||||
udiv r15.xyzw, null, r15.xyzw, l(3, 3, 3, 3)
|
|
||||||
ubfe r16.xyzw, l(10, 10, 10, 10), l(10, 10, 10, 10), r14.xyzw
|
|
||||||
udiv r16.xyzw, null, r16.xyzw, l(3, 3, 3, 3)
|
|
||||||
ishl r16.xyzw, r16.xyzw, l(8, 8, 8, 8)
|
|
||||||
or r15.xyzw, r15.xyzw, r16.xyzw
|
|
||||||
ushr r14.xyzw, r14.xyzw, l(20, 20, 20, 20)
|
|
||||||
udiv r14.xyzw, null, r14.xyzw, l(3, 3, 3, 3)
|
|
||||||
ishl r14.xyzw, r14.xyzw, l(16, 16, 16, 16)
|
|
||||||
or r14.xyzw, r14.xyzw, r15.xyzw
|
|
||||||
or r11.xyzw, r11.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000)
|
|
||||||
or r12.xyzw, r12.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000)
|
|
||||||
or r13.xyzw, r13.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000)
|
|
||||||
or r14.xyzw, r14.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000)
|
|
||||||
iadd r15.xyzw, r10.xyzw, l(1, 1, 1, 1)
|
|
||||||
ushr r16.xyzw, r2.xxxx, r10.xyzw
|
|
||||||
and r16.xyzw, r16.xyzw, l(1, 1, 1, 1)
|
|
||||||
ushr r17.xyzw, r2.xxxx, r15.xyzw
|
|
||||||
and r17.xyzw, r17.xyzw, l(1, 1, 1, 1)
|
|
||||||
imul null, r17.xyzw, r5.xxxx, r17.xyzw
|
|
||||||
imad r16.xyzw, r16.xyzw, r4.xxxx, r17.xyzw
|
|
||||||
ushr r17.xyzw, r8.xxxx, r10.xyzw
|
|
||||||
and r18.xyzw, r17.xyzw, l(1, 1, 1, 1)
|
and r18.xyzw, r17.xyzw, l(1, 1, 1, 1)
|
||||||
ubfe r18.xyzw, l(9, 9, 9, 9), r18.xyzw, r16.xyzw
|
ubfe r18.xyzw, l(9, 9, 9, 9), r18.xyzw, r16.xyzw
|
||||||
|
mov r17.x, r14.x
|
||||||
bfi r19.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r17.xyzw, l(10, 10, 10, 10)
|
bfi r19.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r17.xyzw, l(10, 10, 10, 10)
|
||||||
ubfe r19.xyzw, l(9, 9, 9, 9), r19.xyzw, r16.xyzw
|
ubfe r19.xyzw, l(9, 9, 9, 9), r19.xyzw, r16.xyzw
|
||||||
ishl r19.xyzw, r19.xyzw, l(8, 8, 8, 8)
|
ishl r19.xyzw, r19.xyzw, l(8, 8, 8, 8)
|
||||||
|
@ -328,18 +337,21 @@ loop
|
||||||
ushr r16.xyzw, r16.xyzw, r17.xyzw
|
ushr r16.xyzw, r16.xyzw, r17.xyzw
|
||||||
ishl r16.xyzw, r16.xyzw, l(16, 16, 16, 16)
|
ishl r16.xyzw, r16.xyzw, l(16, 16, 16, 16)
|
||||||
iadd r16.xyzw, r16.xyzw, r18.xyzw
|
iadd r16.xyzw, r16.xyzw, r18.xyzw
|
||||||
ushr r17.xyzw, r7.xxxx, r10.xyzw
|
ushr r17.yzw, r15.xxxx, l(0, 2, 4, 6)
|
||||||
|
mov r17.x, r12.y
|
||||||
and r17.xyzw, r17.xyzw, l(1, 1, 1, 1)
|
and r17.xyzw, r17.xyzw, l(1, 1, 1, 1)
|
||||||
imad r16.xyzw, r17.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000), r16.xyzw
|
imad r16.xyzw, r17.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000), r16.xyzw
|
||||||
ushr r17.xyzw, r2.yyyy, r10.xyzw
|
ushr r17.yzw, r11.zzzz, l(0, 2, 4, 6)
|
||||||
|
mov r17.x, r11.z
|
||||||
and r17.xyzw, r17.xyzw, l(1, 1, 1, 1)
|
and r17.xyzw, r17.xyzw, l(1, 1, 1, 1)
|
||||||
ushr r18.xyzw, r2.yyyy, r15.xyzw
|
ubfe r18.xyzw, l(1, 1, 1, 1), l(1, 3, 5, 7), r11.zzzz
|
||||||
and r18.xyzw, r18.xyzw, l(1, 1, 1, 1)
|
|
||||||
imul null, r18.xyzw, r5.yyyy, r18.xyzw
|
imul null, r18.xyzw, r5.yyyy, r18.xyzw
|
||||||
imad r17.xyzw, r17.xyzw, r4.yyyy, r18.xyzw
|
imad r17.xyzw, r17.xyzw, r4.yyyy, r18.xyzw
|
||||||
ushr r18.xyzw, r8.yyyy, r10.xyzw
|
ushr r18.yzw, r14.yyyy, l(0, 2, 4, 6)
|
||||||
|
mov r18.x, r13.z
|
||||||
and r19.xyzw, r18.xyzw, l(1, 1, 1, 1)
|
and r19.xyzw, r18.xyzw, l(1, 1, 1, 1)
|
||||||
ubfe r19.xyzw, l(9, 9, 9, 9), r19.xyzw, r17.xyzw
|
ubfe r19.xyzw, l(9, 9, 9, 9), r19.xyzw, r17.xyzw
|
||||||
|
mov r18.x, r14.y
|
||||||
bfi r20.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r18.xyzw, l(10, 10, 10, 10)
|
bfi r20.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r18.xyzw, l(10, 10, 10, 10)
|
||||||
ubfe r20.xyzw, l(9, 9, 9, 9), r20.xyzw, r17.xyzw
|
ubfe r20.xyzw, l(9, 9, 9, 9), r20.xyzw, r17.xyzw
|
||||||
ishl r20.xyzw, r20.xyzw, l(8, 8, 8, 8)
|
ishl r20.xyzw, r20.xyzw, l(8, 8, 8, 8)
|
||||||
|
@ -348,18 +360,21 @@ loop
|
||||||
ushr r17.xyzw, r17.xyzw, r18.xyzw
|
ushr r17.xyzw, r17.xyzw, r18.xyzw
|
||||||
ishl r17.xyzw, r17.xyzw, l(16, 16, 16, 16)
|
ishl r17.xyzw, r17.xyzw, l(16, 16, 16, 16)
|
||||||
iadd r17.xyzw, r17.xyzw, r19.xyzw
|
iadd r17.xyzw, r17.xyzw, r19.xyzw
|
||||||
ushr r18.xyzw, r7.yyyy, r10.xyzw
|
ushr r18.yzw, r15.yyyy, l(0, 2, 4, 6)
|
||||||
|
mov r18.x, r12.z
|
||||||
and r18.xyzw, r18.xyzw, l(1, 1, 1, 1)
|
and r18.xyzw, r18.xyzw, l(1, 1, 1, 1)
|
||||||
imad r17.xyzw, r18.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000), r17.xyzw
|
imad r17.xyzw, r18.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000), r17.xyzw
|
||||||
ushr r18.xyzw, r2.zzzz, r10.xyzw
|
ushr r18.yzw, r11.wwww, l(0, 2, 4, 6)
|
||||||
|
mov r18.x, r11.w
|
||||||
and r18.xyzw, r18.xyzw, l(1, 1, 1, 1)
|
and r18.xyzw, r18.xyzw, l(1, 1, 1, 1)
|
||||||
ushr r19.xyzw, r2.zzzz, r15.xyzw
|
ubfe r19.xyzw, l(1, 1, 1, 1), l(1, 3, 5, 7), r11.wwww
|
||||||
and r19.xyzw, r19.xyzw, l(1, 1, 1, 1)
|
|
||||||
imul null, r19.xyzw, r5.zzzz, r19.xyzw
|
imul null, r19.xyzw, r5.zzzz, r19.xyzw
|
||||||
imad r18.xyzw, r18.xyzw, r4.zzzz, r19.xyzw
|
imad r18.xyzw, r18.xyzw, r4.zzzz, r19.xyzw
|
||||||
ushr r19.xyzw, r8.zzzz, r10.xyzw
|
ushr r19.yzw, r14.zzzz, l(0, 2, 4, 6)
|
||||||
|
mov r19.x, r13.w
|
||||||
and r20.xyzw, r19.xyzw, l(1, 1, 1, 1)
|
and r20.xyzw, r19.xyzw, l(1, 1, 1, 1)
|
||||||
ubfe r20.xyzw, l(9, 9, 9, 9), r20.xyzw, r18.xyzw
|
ubfe r20.xyzw, l(9, 9, 9, 9), r20.xyzw, r18.xyzw
|
||||||
|
mov r19.x, r14.z
|
||||||
bfi r21.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r19.xyzw, l(10, 10, 10, 10)
|
bfi r21.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r19.xyzw, l(10, 10, 10, 10)
|
||||||
ubfe r21.xyzw, l(9, 9, 9, 9), r21.xyzw, r18.xyzw
|
ubfe r21.xyzw, l(9, 9, 9, 9), r21.xyzw, r18.xyzw
|
||||||
ishl r21.xyzw, r21.xyzw, l(8, 8, 8, 8)
|
ishl r21.xyzw, r21.xyzw, l(8, 8, 8, 8)
|
||||||
|
@ -368,45 +383,46 @@ loop
|
||||||
ushr r18.xyzw, r18.xyzw, r19.xyzw
|
ushr r18.xyzw, r18.xyzw, r19.xyzw
|
||||||
ishl r18.xyzw, r18.xyzw, l(16, 16, 16, 16)
|
ishl r18.xyzw, r18.xyzw, l(16, 16, 16, 16)
|
||||||
iadd r18.xyzw, r18.xyzw, r20.xyzw
|
iadd r18.xyzw, r18.xyzw, r20.xyzw
|
||||||
ushr r19.xyzw, r7.zzzz, r10.xyzw
|
ushr r19.yzw, r15.zzzz, l(0, 2, 4, 6)
|
||||||
|
mov r19.x, r12.w
|
||||||
and r19.xyzw, r19.xyzw, l(1, 1, 1, 1)
|
and r19.xyzw, r19.xyzw, l(1, 1, 1, 1)
|
||||||
imad r18.xyzw, r19.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000), r18.xyzw
|
imad r18.xyzw, r19.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000), r18.xyzw
|
||||||
ushr r19.xyzw, r2.wwww, r10.xyzw
|
ushr r11.yzw, r11.xxxx, l(0, 2, 4, 6)
|
||||||
and r19.xyzw, r19.xyzw, l(1, 1, 1, 1)
|
and r19.xyzw, r11.xyzw, l(1, 1, 1, 1)
|
||||||
ushr r15.xyzw, r2.wwww, r15.xyzw
|
ubfe r11.xyzw, l(1, 1, 1, 1), l(1, 3, 5, 7), r11.xxxx
|
||||||
and r15.xyzw, r15.xyzw, l(1, 1, 1, 1)
|
imul null, r11.xyzw, r5.wwww, r11.xyzw
|
||||||
imul null, r15.xyzw, r5.wwww, r15.xyzw
|
imad r11.xyzw, r19.xyzw, r4.wwww, r11.xyzw
|
||||||
imad r15.xyzw, r19.xyzw, r4.wwww, r15.xyzw
|
ushr r13.yzw, r14.wwww, l(0, 2, 4, 6)
|
||||||
ushr r19.xyzw, r8.wwww, r10.xyzw
|
and r19.xyzw, r13.xyzw, l(1, 1, 1, 1)
|
||||||
and r20.xyzw, r19.xyzw, l(1, 1, 1, 1)
|
ubfe r19.xyzw, l(9, 9, 9, 9), r19.xyzw, r11.xyzw
|
||||||
ubfe r20.xyzw, l(9, 9, 9, 9), r20.xyzw, r15.xyzw
|
mov r13.x, r14.w
|
||||||
bfi r21.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r19.xyzw, l(10, 10, 10, 10)
|
bfi r14.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r13.xyzw, l(10, 10, 10, 10)
|
||||||
ubfe r21.xyzw, l(9, 9, 9, 9), r21.xyzw, r15.xyzw
|
ubfe r14.xyzw, l(9, 9, 9, 9), r14.xyzw, r11.xyzw
|
||||||
ishl r21.xyzw, r21.xyzw, l(8, 8, 8, 8)
|
ishl r14.xyzw, r14.xyzw, l(8, 8, 8, 8)
|
||||||
iadd r20.xyzw, r20.xyzw, r21.xyzw
|
iadd r14.xyzw, r14.xyzw, r19.xyzw
|
||||||
bfi r19.xyzw, l(2, 2, 2, 2), l(0, 0, 0, 0), r19.xyzw, l(20, 20, 20, 20)
|
bfi r13.xyzw, l(2, 2, 2, 2), l(0, 0, 0, 0), r13.xyzw, l(20, 20, 20, 20)
|
||||||
ushr r15.xyzw, r15.xyzw, r19.xyzw
|
ushr r11.xyzw, r11.xyzw, r13.xyzw
|
||||||
ishl r15.xyzw, r15.xyzw, l(16, 16, 16, 16)
|
ishl r11.xyzw, r11.xyzw, l(16, 16, 16, 16)
|
||||||
iadd r15.xyzw, r15.xyzw, r20.xyzw
|
iadd r11.xyzw, r11.xyzw, r14.xyzw
|
||||||
ushr r10.xyzw, r7.wwww, r10.xyzw
|
ushr r12.yzw, r15.wwww, l(0, 2, 4, 6)
|
||||||
and r10.xyzw, r10.xyzw, l(1, 1, 1, 1)
|
and r12.xyzw, r12.xyzw, l(1, 1, 1, 1)
|
||||||
imad r10.xyzw, r10.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000), r15.xyzw
|
imad r11.xyzw, r12.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000), r11.xyzw
|
||||||
movc r11.xyzw, r1.xxxx, r16.xyzw, r11.xyzw
|
movc r8.xyzw, r1.xxxx, r16.xyzw, r8.xyzw
|
||||||
store_raw U0[0].xyzw, r9.x, r11.xyzw
|
store_raw U0[0].xyzw, r6.x, r8.xyzw
|
||||||
iadd r11.xyz, r9.xxxx, l(16, 32, 48, 0)
|
iadd r8.xyz, r6.xxxx, l(16, 32, 48, 0)
|
||||||
movc r12.xyzw, r1.yyyy, r17.xyzw, r12.xyzw
|
movc r9.xyzw, r1.yyyy, r17.xyzw, r9.xyzw
|
||||||
store_raw U0[0].xyzw, r11.x, r12.xyzw
|
store_raw U0[0].xyzw, r8.x, r9.xyzw
|
||||||
movc r12.xyzw, r1.zzzz, r18.xyzw, r13.xyzw
|
movc r9.xyzw, r1.zzzz, r18.xyzw, r10.xyzw
|
||||||
store_raw U0[0].xyzw, r11.y, r12.xyzw
|
store_raw U0[0].xyzw, r8.y, r9.xyzw
|
||||||
movc r10.xyzw, r1.wwww, r10.xyzw, r14.xyzw
|
movc r7.xyzw, r1.wwww, r11.xyzw, r7.xyzw
|
||||||
store_raw U0[0].xyzw, r11.z, r10.xyzw
|
store_raw U0[0].xyzw, r8.z, r7.xyzw
|
||||||
iadd r0.w, r0.w, l(1)
|
iadd r0.w, r0.w, l(1)
|
||||||
uge r9.z, r0.w, r0.z
|
uge r6.z, r0.w, r0.z
|
||||||
if_nz r9.z
|
if_nz r6.z
|
||||||
ret
|
ret
|
||||||
endif
|
endif
|
||||||
iadd r9.x, r9.x, CB0[0][0].w
|
iadd r6.x, r6.x, CB0[0][0].w
|
||||||
iadd r9.y, r9.y, l(1)
|
iadd r6.y, r6.y, l(1)
|
||||||
endloop
|
endloop
|
||||||
ret
|
ret
|
||||||
// Approximately 360 instruction slots used
|
// Approximately 376 instruction slots used
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,505 @@
|
||||||
|
//
|
||||||
|
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Buffer Definitions:
|
||||||
|
//
|
||||||
|
// cbuffer XeTextureCopyConstants
|
||||||
|
// {
|
||||||
|
//
|
||||||
|
// uint xe_texture_copy_guest_base; // Offset: 0 Size: 4
|
||||||
|
// uint xe_texture_copy_guest_pitch; // Offset: 4 Size: 4
|
||||||
|
// uint xe_texture_copy_host_base; // Offset: 8 Size: 4
|
||||||
|
// uint xe_texture_copy_host_pitch; // Offset: 12 Size: 4
|
||||||
|
// uint3 xe_texture_copy_size_texels; // Offset: 16 Size: 12
|
||||||
|
// bool xe_texture_copy_is_3d; // Offset: 28 Size: 4
|
||||||
|
// uint3 xe_texture_copy_size_blocks; // Offset: 32 Size: 12
|
||||||
|
// uint xe_texture_copy_endianness; // Offset: 44 Size: 4
|
||||||
|
// uint3 xe_texture_copy_guest_mip_offset;// Offset: 48 Size: 12
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Resource Bindings:
|
||||||
|
//
|
||||||
|
// Name Type Format Dim ID HLSL Bind Count
|
||||||
|
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
||||||
|
// xe_texture_copy_source texture byte r/o T0 t0 1
|
||||||
|
// xe_texture_copy_dest UAV byte r/w U0 u0 1
|
||||||
|
// XeTextureCopyConstants cbuffer NA NA CB0 cb0 1
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Input signature:
|
||||||
|
//
|
||||||
|
// Name Index Mask Register SysValue Format Used
|
||||||
|
// -------------------- ----- ------ -------- -------- ------- ------
|
||||||
|
// no Input
|
||||||
|
//
|
||||||
|
// Output signature:
|
||||||
|
//
|
||||||
|
// Name Index Mask Register SysValue Format Used
|
||||||
|
// -------------------- ----- ------ -------- -------- ------- ------
|
||||||
|
// no Output
|
||||||
|
cs_5_1
|
||||||
|
dcl_globalFlags refactoringAllowed
|
||||||
|
dcl_constantbuffer CB0[0:0][4], immediateIndexed, space=0
|
||||||
|
dcl_resource_raw T0[0:0], space=0
|
||||||
|
dcl_uav_raw U0[0:0], space=0
|
||||||
|
dcl_input vThreadID.xyz
|
||||||
|
dcl_temps 25
|
||||||
|
dcl_thread_group 8, 32, 1
|
||||||
|
ishl r0.x, vThreadID.x, l(2)
|
||||||
|
mov r0.yz, vThreadID.yyzy
|
||||||
|
uge r1.xyz, r0.xyzx, CB0[0][2].xyzx
|
||||||
|
or r0.w, r1.y, r1.x
|
||||||
|
or r0.w, r1.z, r0.w
|
||||||
|
if_nz r0.w
|
||||||
|
ret
|
||||||
|
endif
|
||||||
|
iadd r1.xyz, r0.xyzx, CB0[0][3].xyzx
|
||||||
|
ieq r0.z, CB0[0][0].y, l(-1)
|
||||||
|
if_nz r0.z
|
||||||
|
if_nz CB0[0][1].w
|
||||||
|
iadd r2.xyzw, r1.xxxx, l(0, 1, 2, 3)
|
||||||
|
iadd r0.zw, CB0[0][2].yyyx, l(0, 0, 31, 31)
|
||||||
|
ushr r3.xyz, r1.zyyz, l(2, 4, 3, 0)
|
||||||
|
ushr r0.zw, r0.zzzw, l(0, 0, 4, 5)
|
||||||
|
and r0.z, r0.z, l(0x0ffffffe)
|
||||||
|
imad r0.z, r3.x, r0.z, r3.y
|
||||||
|
iadd r1.w, r3.z, r3.x
|
||||||
|
bfi r3.x, l(1), l(1), r1.w, l(0)
|
||||||
|
ushr r4.xyzw, r2.xyzw, l(3, 3, 3, 3)
|
||||||
|
iadd r3.xyzw, r3.xxxx, r4.xyzw
|
||||||
|
bfi r3.xyzw, l(2, 2, 2, 2), l(1, 1, 1, 1), r3.xyzw, l(0, 0, 0, 0)
|
||||||
|
bfi r3.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r1.wwww, r3.xyzw
|
||||||
|
ishl r1.w, r1.y, l(12)
|
||||||
|
and r1.w, r1.w, l(0x00006000)
|
||||||
|
bfi r4.xyzw, l(3, 3, 3, 3), l(10, 10, 10, 10), r2.xyzw, r1.wwww
|
||||||
|
ushr r4.xyzw, r4.xyzw, l(6, 6, 6, 6)
|
||||||
|
ushr r2.xyzw, r2.xyzw, l(5, 5, 5, 5)
|
||||||
|
imad r2.xyzw, r0.zzzz, r0.wwww, r2.xyzw
|
||||||
|
bfi r5.xyzw, l(18, 18, 18, 18), l(12, 12, 12, 12), r2.xyzw, l(0, 0, 0, 0)
|
||||||
|
imad r5.xyzw, r4.xyzw, l(2, 2, 2, 2), r5.xyzw
|
||||||
|
bfi r5.xyzw, l(2, 2, 2, 2), l(10, 10, 10, 10), r1.zzzz, r5.xyzw
|
||||||
|
bfi r0.z, l(1), l(4), r1.y, l(0)
|
||||||
|
iadd r6.xyzw, r5.xyzw, r0.zzzz
|
||||||
|
ubfe r5.xyzw, l(3, 3, 3, 3), l(6, 6, 6, 6), r5.xyzw
|
||||||
|
and r7.xyzw, r3.xyzw, l(6, 6, 6, 6)
|
||||||
|
bfi r3.xyzw, l(1, 1, 1, 1), l(8, 8, 8, 8), r3.xyzw, l(0, 0, 0, 0)
|
||||||
|
imad r3.xyzw, r5.xyzw, l(32, 32, 32, 32), r3.xyzw
|
||||||
|
imad r3.xyzw, r7.xyzw, l(4, 4, 4, 4), r3.xyzw
|
||||||
|
bfi r2.xyzw, l(18, 18, 18, 18), l(15, 15, 15, 15), r2.xyzw, l(0, 0, 0, 0)
|
||||||
|
imad r2.xyzw, r4.xyzw, l(16, 16, 16, 16), r2.xyzw
|
||||||
|
bfi r2.xyzw, l(2, 2, 2, 2), l(13, 13, 13, 13), r1.zzzz, r2.xyzw
|
||||||
|
imad r2.xyzw, r0.zzzz, l(8, 8, 8, 8), r2.xyzw
|
||||||
|
bfi r2.xyzw, l(9, 9, 9, 9), l(3, 3, 3, 3), r3.xyzw, r2.xyzw
|
||||||
|
bfi r2.xyzw, l(6, 6, 6, 6), l(0, 0, 0, 0), r6.xyzw, r2.xyzw
|
||||||
|
else
|
||||||
|
iadd r3.xyzw, r1.xxxx, l(0, 1, 2, 3)
|
||||||
|
ushr r4.xyzw, r3.xyzw, l(5, 5, 5, 5)
|
||||||
|
ushr r0.zw, r1.yyyy, l(0, 0, 5, 2)
|
||||||
|
iadd r1.w, CB0[0][2].x, l(31)
|
||||||
|
ushr r1.w, r1.w, l(5)
|
||||||
|
imad r4.xyzw, r0.zzzz, r1.wwww, r4.xyzw
|
||||||
|
ishl r0.z, r1.y, l(7)
|
||||||
|
and r5.xy, r0.zzzz, l(1792, 2048, 0, 0)
|
||||||
|
bfi r6.xyzw, l(3, 3, 3, 3), l(5, 5, 5, 5), r3.xyzw, r5.xxxx
|
||||||
|
bfi r6.xyzw, l(21, 21, 21, 21), l(11, 11, 11, 11), r4.xyzw, r6.xyzw
|
||||||
|
bfi r0.z, l(1), l(4), r1.y, l(0)
|
||||||
|
iadd r6.xyzw, r6.xyzw, r0.zzzz
|
||||||
|
ishl r5.xz, r5.xxxx, l(3, 0, 2, 0)
|
||||||
|
bfi r7.xyzw, l(3, 3, 3, 3), l(8, 8, 8, 8), r3.xyzw, r5.xxxx
|
||||||
|
bfi r7.xyzw, l(21, 21, 21, 21), l(14, 14, 14, 14), r4.xyzw, r7.xyzw
|
||||||
|
imad r7.xyzw, r0.zzzz, l(8, 8, 8, 8), r7.xyzw
|
||||||
|
bfi r7.xyzw, l(12, 12, 12, 12), l(0, 0, 0, 0), r5.yyyy, r7.xyzw
|
||||||
|
bfi r5.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r3.xyzw, r5.zzzz
|
||||||
|
bfi r4.xyzw, l(21, 21, 21, 21), l(13, 13, 13, 13), r4.xyzw, r5.xyzw
|
||||||
|
imad r4.xyzw, r0.zzzz, l(4, 4, 4, 4), r4.xyzw
|
||||||
|
and r4.xyzw, r4.xyzw, l(1792, 1792, 1792, 1792)
|
||||||
|
iadd r4.xyzw, r7.xyzw, r4.xyzw
|
||||||
|
ushr r3.xyzw, r3.xyzw, l(3, 3, 3, 3)
|
||||||
|
and r0.z, r0.w, l(2)
|
||||||
|
iadd r3.xyzw, r0.zzzz, r3.xyzw
|
||||||
|
bfi r3.xyzw, l(2, 2, 2, 2), l(6, 6, 6, 6), r3.xyzw, l(0, 0, 0, 0)
|
||||||
|
iadd r3.xyzw, r4.xyzw, r3.xyzw
|
||||||
|
bfi r2.xyzw, l(6, 6, 6, 6), l(0, 0, 0, 0), r6.xyzw, r3.xyzw
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
ishl r0.z, r1.x, l(4)
|
||||||
|
iadd r0.w, CB0[0][2].y, l(31)
|
||||||
|
and r0.w, r0.w, l(-32)
|
||||||
|
imad r0.w, r1.z, r0.w, r1.y
|
||||||
|
imad r0.z, r0.w, CB0[0][0].y, r0.z
|
||||||
|
iadd r2.xyzw, r0.zzzz, l(0, 16, 32, 48)
|
||||||
|
endif
|
||||||
|
iadd r1.xyzw, r2.xyzw, CB0[0][0].xxxx
|
||||||
|
ld_raw r2.xyzw, r1.x, T0[0].wxyz
|
||||||
|
ld_raw r3.xyzw, r1.y, T0[0].xyzw
|
||||||
|
ld_raw r4.xyzw, r1.z, T0[0].xyzw
|
||||||
|
ld_raw r1.xyzw, r1.w, T0[0].xyzw
|
||||||
|
ushr r0.z, CB0[0][2].w, l(1)
|
||||||
|
xor r0.z, r0.z, CB0[0][2].w
|
||||||
|
and r0.z, r0.z, l(1)
|
||||||
|
if_nz r0.z
|
||||||
|
ishl r5.xyzw, r2.yzwx, l(8, 8, 8, 8)
|
||||||
|
and r5.xyzw, r5.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00)
|
||||||
|
ushr r6.xyzw, r2.yzwx, l(8, 8, 8, 8)
|
||||||
|
and r6.xyzw, r6.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff)
|
||||||
|
iadd r2.xyzw, r5.wxyz, r6.wxyz
|
||||||
|
endif
|
||||||
|
and r0.w, CB0[0][2].w, l(2)
|
||||||
|
if_nz r0.w
|
||||||
|
ushr r5.xyzw, r2.yzwx, l(16, 16, 16, 16)
|
||||||
|
bfi r2.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r2.xyzw, r5.wxyz
|
||||||
|
mov r5.x, r2.y
|
||||||
|
mov r6.x, r2.z
|
||||||
|
mov r7.x, r2.w
|
||||||
|
else
|
||||||
|
mov r5.x, r2.y
|
||||||
|
mov r6.x, r2.z
|
||||||
|
mov r7.x, r2.w
|
||||||
|
endif
|
||||||
|
if_nz r0.z
|
||||||
|
ishl r8.xyzw, r3.xyzw, l(8, 8, 8, 8)
|
||||||
|
and r8.xyzw, r8.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00)
|
||||||
|
ushr r9.xyzw, r3.xyzw, l(8, 8, 8, 8)
|
||||||
|
and r9.xyzw, r9.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff)
|
||||||
|
iadd r3.xyzw, r8.xyzw, r9.xyzw
|
||||||
|
endif
|
||||||
|
if_nz r0.w
|
||||||
|
ushr r8.xyzw, r3.xyzw, l(16, 16, 16, 16)
|
||||||
|
bfi r8.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r3.xyzw, r8.xyzw
|
||||||
|
mov r5.y, r8.x
|
||||||
|
mov r6.y, r8.y
|
||||||
|
mov r7.y, r8.z
|
||||||
|
mov r2.y, r8.w
|
||||||
|
else
|
||||||
|
mov r5.y, r3.x
|
||||||
|
mov r6.y, r3.y
|
||||||
|
mov r7.y, r3.z
|
||||||
|
mov r2.y, r3.w
|
||||||
|
endif
|
||||||
|
if_nz r0.z
|
||||||
|
ishl r3.xyzw, r4.xyzw, l(8, 8, 8, 8)
|
||||||
|
and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00)
|
||||||
|
ushr r8.xyzw, r4.xyzw, l(8, 8, 8, 8)
|
||||||
|
and r8.xyzw, r8.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff)
|
||||||
|
iadd r4.xyzw, r3.xyzw, r8.xyzw
|
||||||
|
endif
|
||||||
|
if_nz r0.w
|
||||||
|
ushr r3.xyzw, r4.xyzw, l(16, 16, 16, 16)
|
||||||
|
bfi r3.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r4.xyzw, r3.xyzw
|
||||||
|
mov r5.z, r3.x
|
||||||
|
mov r6.z, r3.y
|
||||||
|
mov r7.z, r3.z
|
||||||
|
mov r2.z, r3.w
|
||||||
|
else
|
||||||
|
mov r5.z, r4.x
|
||||||
|
mov r6.z, r4.y
|
||||||
|
mov r7.z, r4.z
|
||||||
|
mov r2.z, r4.w
|
||||||
|
endif
|
||||||
|
if_nz r0.z
|
||||||
|
ishl r3.xyzw, r1.xyzw, l(8, 8, 8, 8)
|
||||||
|
and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00)
|
||||||
|
ushr r4.xyzw, r1.xyzw, l(8, 8, 8, 8)
|
||||||
|
and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff)
|
||||||
|
iadd r1.xyzw, r3.xyzw, r4.xyzw
|
||||||
|
endif
|
||||||
|
if_nz r0.w
|
||||||
|
ushr r3.xyzw, r1.xyzw, l(16, 16, 16, 16)
|
||||||
|
bfi r3.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r1.xyzw, r3.xyzw
|
||||||
|
mov r5.w, r3.x
|
||||||
|
mov r6.w, r3.y
|
||||||
|
mov r7.w, r3.z
|
||||||
|
mov r2.w, r3.w
|
||||||
|
else
|
||||||
|
mov r5.w, r1.x
|
||||||
|
mov r6.w, r1.y
|
||||||
|
mov r7.w, r1.z
|
||||||
|
mov r2.w, r1.w
|
||||||
|
endif
|
||||||
|
ishl r1.xyzw, r2.xyzw, l(1, 1, 1, 1)
|
||||||
|
and r1.xyzw, r1.xyzw, l(0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa)
|
||||||
|
ushr r2.xyzw, r2.xyzw, l(1, 1, 1, 1)
|
||||||
|
and r2.xyzw, r2.xyzw, l(0x55555555, 0x55555555, 0x55555555, 0x55555555)
|
||||||
|
iadd r1.xyzw, r1.xyzw, r2.xyzw
|
||||||
|
ushr r2.xyzw, r1.xyzw, l(1, 1, 1, 1)
|
||||||
|
and r2.xyzw, r2.xyzw, l(0x55555555, 0x55555555, 0x55555555, 0x55555555)
|
||||||
|
xor r1.xyzw, r1.xyzw, r2.xyzw
|
||||||
|
ushr r2.xyzw, r5.xyzw, l(16, 16, 16, 16)
|
||||||
|
bfi r3.xyzw, l(8, 8, 8, 8), l(16, 16, 16, 16), r6.xyzw, l(0, 0, 0, 0)
|
||||||
|
iadd r2.xyzw, r2.xyzw, r3.xyzw
|
||||||
|
ushr r3.xyzw, r6.xyzw, l(8, 8, 8, 8)
|
||||||
|
and r4.xyzw, r2.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249)
|
||||||
|
ushr r6.xyzw, r2.xyzw, l(1, 1, 1, 1)
|
||||||
|
and r8.xyzw, r6.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249)
|
||||||
|
or r9.xyzw, r2.xyzw, r6.xyzw
|
||||||
|
ushr r10.xyzw, r2.xyzw, l(2, 2, 2, 2)
|
||||||
|
and r11.xyzw, r10.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249)
|
||||||
|
or r9.xyzw, r9.xyzw, r10.xyzw
|
||||||
|
and r9.xyzw, r9.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249)
|
||||||
|
xor r9.xyzw, r9.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249)
|
||||||
|
not r8.xyzw, r8.xyzw
|
||||||
|
and r8.xyzw, r4.xyzw, r8.xyzw
|
||||||
|
not r10.xyzw, r11.xyzw
|
||||||
|
and r8.xyzw, r8.xyzw, r10.xyzw
|
||||||
|
or r9.xyzw, r2.xyzw, r9.xyzw
|
||||||
|
iadd r9.xyzw, r9.xyzw, l(0xffdb6db7, 0xffdb6db7, 0xffdb6db7, 0xffdb6db7)
|
||||||
|
or r9.xyzw, r8.xyzw, r9.xyzw
|
||||||
|
ishl r10.xyzw, r8.xyzw, l(1, 1, 1, 1)
|
||||||
|
or r10.xyzw, r9.xyzw, r10.xyzw
|
||||||
|
ishl r8.xyzw, r8.xyzw, l(2, 2, 2, 2)
|
||||||
|
or r10.xyzw, r8.xyzw, r10.xyzw
|
||||||
|
and r11.xyzw, r3.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249)
|
||||||
|
ushr r12.xyzw, r3.xyzw, l(1, 1, 1, 1)
|
||||||
|
and r13.xyzw, r12.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249)
|
||||||
|
or r14.xyzw, r3.xyzw, r12.xyzw
|
||||||
|
ushr r15.xyzw, r3.xyzw, l(2, 2, 2, 2)
|
||||||
|
and r16.xyzw, r15.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249)
|
||||||
|
or r14.xyzw, r14.xyzw, r15.xyzw
|
||||||
|
and r14.xyzw, r14.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249)
|
||||||
|
xor r14.xyzw, r14.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249)
|
||||||
|
not r13.xyzw, r13.xyzw
|
||||||
|
and r13.xyzw, r11.xyzw, r13.xyzw
|
||||||
|
not r15.xyzw, r16.xyzw
|
||||||
|
and r13.xyzw, r13.xyzw, r15.xyzw
|
||||||
|
or r14.xyzw, r3.xyzw, r14.xyzw
|
||||||
|
iadd r14.xyzw, r14.xyzw, l(0xffdb6db7, 0xffdb6db7, 0xffdb6db7, 0xffdb6db7)
|
||||||
|
or r14.xyzw, r13.xyzw, r14.xyzw
|
||||||
|
ishl r15.xyzw, r13.xyzw, l(1, 1, 1, 1)
|
||||||
|
or r15.xyzw, r14.xyzw, r15.xyzw
|
||||||
|
ishl r13.xyzw, r13.xyzw, l(2, 2, 2, 2)
|
||||||
|
or r15.xyzw, r13.xyzw, r15.xyzw
|
||||||
|
and r2.xyzw, r2.xyzw, r6.xyzw
|
||||||
|
and r2.xyzw, r2.xyzw, l(0x00492492, 0x00492492, 0x00492492, 0x00492492)
|
||||||
|
ishl r6.xyzw, r2.xyzw, l(1, 1, 1, 1)
|
||||||
|
ushr r16.xyzw, r2.xyzw, l(1, 1, 1, 1)
|
||||||
|
iadd r2.xyzw, r2.xyzw, r6.xyzw
|
||||||
|
iadd r2.xyzw, r2.xyzw, r16.xyzw
|
||||||
|
iadd r4.xyzw, r4.xyzw, l(0x00db6db6, 0x00db6db6, 0x00db6db6, 0x00db6db6)
|
||||||
|
and r4.xyzw, r2.xyzw, r4.xyzw
|
||||||
|
or r6.xyzw, r8.xyzw, r9.xyzw
|
||||||
|
not r2.xyzw, r2.xyzw
|
||||||
|
and r2.xyzw, r2.xyzw, r6.xyzw
|
||||||
|
or r2.xyzw, r4.xyzw, r2.xyzw
|
||||||
|
and r3.xyzw, r3.xyzw, r12.xyzw
|
||||||
|
and r3.xyzw, r3.xyzw, l(0x00492492, 0x00492492, 0x00492492, 0x00492492)
|
||||||
|
ishl r4.xyzw, r3.xyzw, l(1, 1, 1, 1)
|
||||||
|
ushr r6.xyzw, r3.xyzw, l(1, 1, 1, 1)
|
||||||
|
iadd r3.xyzw, r3.xyzw, r4.xyzw
|
||||||
|
iadd r3.xyzw, r3.xyzw, r6.xyzw
|
||||||
|
iadd r4.xyzw, r11.xyzw, l(0x00db6db6, 0x00db6db6, 0x00db6db6, 0x00db6db6)
|
||||||
|
and r4.xyzw, r3.xyzw, r4.xyzw
|
||||||
|
or r6.xyzw, r13.xyzw, r14.xyzw
|
||||||
|
not r3.xyzw, r3.xyzw
|
||||||
|
and r3.xyzw, r3.xyzw, r6.xyzw
|
||||||
|
or r3.xyzw, r4.xyzw, r3.xyzw
|
||||||
|
bfi r4.xyzw, l(5, 5, 5, 5), l(23, 23, 23, 23), r7.xyzw, l(0, 0, 0, 0)
|
||||||
|
ishl r6.xyzw, r7.xyzw, l(18, 18, 18, 18)
|
||||||
|
and r6.xyzw, r6.xyzw, l(0x00700000, 0x00700000, 0x00700000, 0x00700000)
|
||||||
|
iadd r4.xyzw, r4.xyzw, r6.xyzw
|
||||||
|
ishl r6.xyzw, r7.xyzw, l(7, 7, 7, 7)
|
||||||
|
and r8.xyzw, r6.xyzw, l(0x0003f000, 0x0003f000, 0x0003f000, 0x0003f000)
|
||||||
|
iadd r4.xyzw, r4.xyzw, r8.xyzw
|
||||||
|
ishl r8.xyzw, r7.xyzw, l(1, 1, 1, 1)
|
||||||
|
and r8.xyzw, r8.xyzw, l(3072, 3072, 3072, 3072)
|
||||||
|
iadd r4.xyzw, r4.xyzw, r8.xyzw
|
||||||
|
ushr r8.xyzw, r7.xyzw, l(8, 8, 8, 8)
|
||||||
|
and r8.xyzw, r8.xyzw, l(248, 248, 248, 248)
|
||||||
|
iadd r4.xyzw, r4.xyzw, r8.xyzw
|
||||||
|
ubfe r8.xyzw, l(3, 3, 3, 3), l(13, 13, 13, 13), r7.xyzw
|
||||||
|
iadd r4.xyzw, r4.xyzw, r8.xyzw
|
||||||
|
and r6.xyzw, r6.xyzw, l(0x0f800000, 0x0f800000, 0x0f800000, 0x0f800000)
|
||||||
|
ishl r8.xyzw, r7.xyzw, l(2, 2, 2, 2)
|
||||||
|
and r8.xyzw, r8.xyzw, l(0x00700000, 0x00700000, 0x00700000, 0x00700000)
|
||||||
|
iadd r6.xyzw, r6.xyzw, r8.xyzw
|
||||||
|
ushr r8.xyzw, r7.xyzw, l(9, 9, 9, 9)
|
||||||
|
and r8.xyzw, r8.xyzw, l(0x0003f000, 0x0003f000, 0x0003f000, 0x0003f000)
|
||||||
|
iadd r6.xyzw, r6.xyzw, r8.xyzw
|
||||||
|
ushr r8.xyzw, r7.xyzw, l(15, 15, 15, 15)
|
||||||
|
and r8.xyzw, r8.xyzw, l(3072, 3072, 3072, 3072)
|
||||||
|
iadd r6.xyzw, r6.xyzw, r8.xyzw
|
||||||
|
ushr r8.xyzw, r7.xyzw, l(24, 24, 24, 24)
|
||||||
|
and r8.xyzw, r8.xyzw, l(248, 248, 248, 248)
|
||||||
|
iadd r6.xyzw, r6.xyzw, r8.xyzw
|
||||||
|
ushr r7.xyzw, r7.xyzw, l(29, 29, 29, 29)
|
||||||
|
iadd r6.xyzw, r6.xyzw, r7.xyzw
|
||||||
|
and r7.xyzw, r5.xyzw, l(255, 255, 255, 255)
|
||||||
|
ubfe r5.xyzw, l(8, 8, 8, 8), l(8, 8, 8, 8), r5.xyzw
|
||||||
|
ishl r0.xy, r0.xyxx, l(2, 2, 0, 0)
|
||||||
|
ishl r0.x, r0.x, l(2)
|
||||||
|
imad r0.z, vThreadID.z, CB0[0][1].y, r0.y
|
||||||
|
imad r0.x, r0.z, CB0[0][0].w, r0.x
|
||||||
|
iadd r0.x, r0.x, CB0[0][0].z
|
||||||
|
uge r8.xyzw, r5.xyzw, r7.xyzw
|
||||||
|
movc r9.xyzw, r8.xyzw, l(5,5,5,5), l(7,7,7,7)
|
||||||
|
movc r11.xyzw, r8.xyzw, l(2925,2925,2925,2925), l(4095,4095,4095,4095)
|
||||||
|
mov r0.z, CB0[0][1].y
|
||||||
|
mov r0.w, r0.y
|
||||||
|
mov r12.x, r0.x
|
||||||
|
mov r12.y, l(0)
|
||||||
|
loop
|
||||||
|
uge r12.z, r12.y, l(4)
|
||||||
|
breakc_nz r12.z
|
||||||
|
ishl r12.z, r12.y, l(3)
|
||||||
|
ushr r13.xyzw, r1.wxyz, r12.zzzz
|
||||||
|
not r14.xyzw, r13.xyzw
|
||||||
|
ushr r16.yzw, r14.yyyy, l(0, 2, 4, 6)
|
||||||
|
mov r16.x, r14.y
|
||||||
|
and r16.xyzw, r16.xyzw, l(3, 3, 3, 3)
|
||||||
|
ushr r17.yzw, r13.yyyy, l(0, 2, 4, 6)
|
||||||
|
mov r17.x, r13.y
|
||||||
|
and r17.xyzw, r17.xyzw, l(3, 3, 3, 3)
|
||||||
|
imul null, r17.xyzw, r6.xxxx, r17.xyzw
|
||||||
|
imad r16.xyzw, r16.xyzw, r4.xxxx, r17.xyzw
|
||||||
|
and r17.xyzw, r16.xyzw, l(1023, 1023, 1023, 1023)
|
||||||
|
udiv r17.xyzw, null, r17.xyzw, l(3, 3, 3, 3)
|
||||||
|
ubfe r18.xyzw, l(10, 10, 10, 10), l(10, 10, 10, 10), r16.xyzw
|
||||||
|
udiv r18.xyzw, null, r18.xyzw, l(3, 3, 3, 3)
|
||||||
|
ishl r18.xyzw, r18.xyzw, l(8, 8, 8, 8)
|
||||||
|
or r17.xyzw, r17.xyzw, r18.xyzw
|
||||||
|
ushr r16.xyzw, r16.xyzw, l(20, 20, 20, 20)
|
||||||
|
udiv r16.xyzw, null, r16.xyzw, l(3, 3, 3, 3)
|
||||||
|
ishl r16.xyzw, r16.xyzw, l(16, 16, 16, 16)
|
||||||
|
or r16.xyzw, r16.xyzw, r17.xyzw
|
||||||
|
ushr r17.yzw, r14.zzzz, l(0, 2, 4, 6)
|
||||||
|
mov r17.x, r14.z
|
||||||
|
and r17.xyzw, r17.xyzw, l(3, 3, 3, 3)
|
||||||
|
ushr r18.yzw, r13.zzzz, l(0, 2, 4, 6)
|
||||||
|
mov r18.x, r13.z
|
||||||
|
and r18.xyzw, r18.xyzw, l(3, 3, 3, 3)
|
||||||
|
imul null, r18.xyzw, r6.yyyy, r18.xyzw
|
||||||
|
imad r17.xyzw, r17.xyzw, r4.yyyy, r18.xyzw
|
||||||
|
and r18.xyzw, r17.xyzw, l(1023, 1023, 1023, 1023)
|
||||||
|
udiv r18.xyzw, null, r18.xyzw, l(3, 3, 3, 3)
|
||||||
|
ubfe r19.xyzw, l(10, 10, 10, 10), l(10, 10, 10, 10), r17.xyzw
|
||||||
|
udiv r19.xyzw, null, r19.xyzw, l(3, 3, 3, 3)
|
||||||
|
ishl r19.xyzw, r19.xyzw, l(8, 8, 8, 8)
|
||||||
|
or r18.xyzw, r18.xyzw, r19.xyzw
|
||||||
|
ushr r17.xyzw, r17.xyzw, l(20, 20, 20, 20)
|
||||||
|
udiv r17.xyzw, null, r17.xyzw, l(3, 3, 3, 3)
|
||||||
|
ishl r17.xyzw, r17.xyzw, l(16, 16, 16, 16)
|
||||||
|
or r17.xyzw, r17.xyzw, r18.xyzw
|
||||||
|
ushr r18.yzw, r14.wwww, l(0, 2, 4, 6)
|
||||||
|
mov r18.x, r14.w
|
||||||
|
and r18.xyzw, r18.xyzw, l(3, 3, 3, 3)
|
||||||
|
ushr r19.yzw, r13.wwww, l(0, 2, 4, 6)
|
||||||
|
mov r19.x, r13.w
|
||||||
|
and r19.xyzw, r19.xyzw, l(3, 3, 3, 3)
|
||||||
|
imul null, r19.xyzw, r6.zzzz, r19.xyzw
|
||||||
|
imad r18.xyzw, r18.xyzw, r4.zzzz, r19.xyzw
|
||||||
|
and r19.xyzw, r18.xyzw, l(1023, 1023, 1023, 1023)
|
||||||
|
udiv r19.xyzw, null, r19.xyzw, l(3, 3, 3, 3)
|
||||||
|
ubfe r20.xyzw, l(10, 10, 10, 10), l(10, 10, 10, 10), r18.xyzw
|
||||||
|
udiv r20.xyzw, null, r20.xyzw, l(3, 3, 3, 3)
|
||||||
|
ishl r20.xyzw, r20.xyzw, l(8, 8, 8, 8)
|
||||||
|
or r19.xyzw, r19.xyzw, r20.xyzw
|
||||||
|
ushr r18.xyzw, r18.xyzw, l(20, 20, 20, 20)
|
||||||
|
udiv r18.xyzw, null, r18.xyzw, l(3, 3, 3, 3)
|
||||||
|
ishl r18.xyzw, r18.xyzw, l(16, 16, 16, 16)
|
||||||
|
or r18.xyzw, r18.xyzw, r19.xyzw
|
||||||
|
ushr r14.yzw, r14.xxxx, l(0, 2, 4, 6)
|
||||||
|
and r14.xyzw, r14.xyzw, l(3, 3, 3, 3)
|
||||||
|
ushr r13.yzw, r13.xxxx, l(0, 2, 4, 6)
|
||||||
|
and r13.xyzw, r13.xyzw, l(3, 3, 3, 3)
|
||||||
|
imul null, r13.xyzw, r6.wwww, r13.xyzw
|
||||||
|
imad r13.xyzw, r14.xyzw, r4.wwww, r13.xyzw
|
||||||
|
and r14.xyzw, r13.xyzw, l(1023, 1023, 1023, 1023)
|
||||||
|
udiv r14.xyzw, null, r14.xyzw, l(3, 3, 3, 3)
|
||||||
|
ubfe r19.xyzw, l(10, 10, 10, 10), l(10, 10, 10, 10), r13.xyzw
|
||||||
|
udiv r19.xyzw, null, r19.xyzw, l(3, 3, 3, 3)
|
||||||
|
ishl r19.xyzw, r19.xyzw, l(8, 8, 8, 8)
|
||||||
|
or r14.xyzw, r14.xyzw, r19.xyzw
|
||||||
|
ushr r13.xyzw, r13.xyzw, l(20, 20, 20, 20)
|
||||||
|
udiv r13.xyzw, null, r13.xyzw, l(3, 3, 3, 3)
|
||||||
|
ishl r13.xyzw, r13.xyzw, l(16, 16, 16, 16)
|
||||||
|
or r13.xyzw, r13.xyzw, r14.xyzw
|
||||||
|
ult r12.z, r12.y, l(2)
|
||||||
|
movc r14.xyzw, r12.zzzz, r10.xyzw, r15.xyzw
|
||||||
|
and r12.w, r12.y, l(1)
|
||||||
|
imul null, r12.w, r12.w, l(12)
|
||||||
|
ushr r14.xyzw, r14.xyzw, r12.wwww
|
||||||
|
movc r19.xyzw, r12.zzzz, r2.xyzw, r3.xyzw
|
||||||
|
ushr r19.xyzw, r19.xyzw, r12.wwww
|
||||||
|
movc r14.xyzw, r8.xyzw, r19.xyzw, r14.xyzw
|
||||||
|
ushr r20.xyzw, r19.xyzw, l(1, 1, 1, 1)
|
||||||
|
and r20.xyzw, r19.xyzw, r20.xyzw
|
||||||
|
and r20.xyzw, r8.xyzw, r20.xyzw
|
||||||
|
and r20.xyzw, r20.xyzw, l(1170, 1170, 1170, 1170)
|
||||||
|
ishl r21.xyzw, r20.xyzw, l(1, 1, 1, 1)
|
||||||
|
ushr r22.xyzw, r20.xyzw, l(1, 1, 1, 1)
|
||||||
|
iadd r20.xyzw, r20.xyzw, r21.xyzw
|
||||||
|
iadd r20.xyzw, r20.xyzw, r22.xyzw
|
||||||
|
not r21.xyzw, r20.xyzw
|
||||||
|
and r14.xyzw, r14.xyzw, r21.xyzw
|
||||||
|
iadd r22.xyzw, r11.xyzw, -r14.xyzw
|
||||||
|
and r21.xyzw, r21.xyzw, r22.xyzw
|
||||||
|
and r22.xyzw, r21.xyzw, l(7, 7, 7, 7)
|
||||||
|
and r23.xyzw, r14.xyzw, l(7, 7, 7, 7)
|
||||||
|
imul null, r23.xyzw, r5.xyzw, r23.xyzw
|
||||||
|
imad r22.xyzw, r7.xyzw, r22.xyzw, r23.xyzw
|
||||||
|
udiv r22.xyzw, null, r22.xyzw, r9.xyzw
|
||||||
|
ubfe r23.xyzw, l(3, 3, 3, 3), l(3, 3, 3, 3), r21.xyzw
|
||||||
|
ubfe r24.xyzw, l(3, 3, 3, 3), l(3, 3, 3, 3), r14.xyzw
|
||||||
|
imul null, r24.xyzw, r5.xyzw, r24.xyzw
|
||||||
|
imad r23.xyzw, r7.xyzw, r23.xyzw, r24.xyzw
|
||||||
|
udiv r23.xyzw, null, r23.xyzw, r9.xyzw
|
||||||
|
ishl r23.xyzw, r23.xyzw, l(8, 8, 8, 8)
|
||||||
|
or r22.xyzw, r22.xyzw, r23.xyzw
|
||||||
|
ubfe r23.xyzw, l(3, 3, 3, 3), l(6, 6, 6, 6), r21.xyzw
|
||||||
|
ubfe r24.xyzw, l(3, 3, 3, 3), l(6, 6, 6, 6), r14.xyzw
|
||||||
|
imul null, r24.xyzw, r5.xyzw, r24.xyzw
|
||||||
|
imad r23.xyzw, r7.xyzw, r23.xyzw, r24.xyzw
|
||||||
|
udiv r23.xyzw, null, r23.xyzw, r9.xyzw
|
||||||
|
ishl r23.xyzw, r23.xyzw, l(16, 16, 16, 16)
|
||||||
|
or r22.xyzw, r22.xyzw, r23.xyzw
|
||||||
|
ubfe r21.xyzw, l(3, 3, 3, 3), l(9, 9, 9, 9), r21.xyzw
|
||||||
|
ubfe r14.xyzw, l(3, 3, 3, 3), l(9, 9, 9, 9), r14.xyzw
|
||||||
|
imul null, r14.xyzw, r5.xyzw, r14.xyzw
|
||||||
|
imad r14.xyzw, r7.xyzw, r21.xyzw, r14.xyzw
|
||||||
|
udiv r14.xyzw, null, r14.xyzw, r9.xyzw
|
||||||
|
ishl r14.xyzw, r14.xyzw, l(24, 24, 24, 24)
|
||||||
|
or r14.xyzw, r14.xyzw, r22.xyzw
|
||||||
|
and r19.xyzw, r19.xyzw, r20.xyzw
|
||||||
|
ishl r20.xyzw, r19.xyzw, l(5, 5, 5, 5)
|
||||||
|
and r20.xyzw, r20.xyzw, l(256, 256, 256, 256)
|
||||||
|
bfi r20.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r19.xyzw, r20.xyzw
|
||||||
|
ishl r21.xyzw, r19.xyzw, l(10, 10, 10, 10)
|
||||||
|
and r21.xyzw, r21.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000)
|
||||||
|
iadd r20.xyzw, r20.xyzw, r21.xyzw
|
||||||
|
ishl r19.xyzw, r19.xyzw, l(15, 15, 15, 15)
|
||||||
|
and r19.xyzw, r19.xyzw, l(0x01000000, 0x01000000, 0x01000000, 0x01000000)
|
||||||
|
iadd r19.xyzw, r19.xyzw, r20.xyzw
|
||||||
|
imad r14.xyzw, r19.xyzw, l(255, 255, 255, 255), r14.xyzw
|
||||||
|
ishl r19.xyz, r14.xxxx, l(24, 16, 8, 0)
|
||||||
|
mov r19.w, r14.x
|
||||||
|
and r19.xyzw, r19.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000)
|
||||||
|
or r16.xyzw, r16.xyzw, r19.xyzw
|
||||||
|
store_raw U0[0].xyzw, r12.x, r16.xyzw
|
||||||
|
iadd r16.xyz, r12.xxxx, l(16, 32, 48, 0)
|
||||||
|
ishl r19.xyz, r14.yyyy, l(24, 16, 8, 0)
|
||||||
|
mov r19.w, r14.y
|
||||||
|
and r19.xyzw, r19.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000)
|
||||||
|
or r17.xyzw, r17.xyzw, r19.xyzw
|
||||||
|
store_raw U0[0].xyzw, r16.x, r17.xyzw
|
||||||
|
ishl r17.xyz, r14.zzzz, l(24, 16, 8, 0)
|
||||||
|
mov r17.w, r14.z
|
||||||
|
and r17.xyzw, r17.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000)
|
||||||
|
or r17.xyzw, r17.xyzw, r18.xyzw
|
||||||
|
store_raw U0[0].xyzw, r16.y, r17.xyzw
|
||||||
|
ishl r14.xyz, r14.wwww, l(24, 16, 8, 0)
|
||||||
|
and r14.xyzw, r14.xyzw, l(0xff000000, 0xff000000, 0xff000000, 0xff000000)
|
||||||
|
or r13.xyzw, r13.xyzw, r14.xyzw
|
||||||
|
store_raw U0[0].xyzw, r16.z, r13.xyzw
|
||||||
|
iadd r0.w, r0.w, l(1)
|
||||||
|
uge r12.z, r0.w, r0.z
|
||||||
|
if_nz r12.z
|
||||||
|
ret
|
||||||
|
endif
|
||||||
|
iadd r12.x, r12.x, CB0[0][0].w
|
||||||
|
iadd r12.y, r12.y, l(1)
|
||||||
|
endloop
|
||||||
|
ret
|
||||||
|
// Approximately 453 instruction slots used
|
|
@ -109,14 +109,13 @@ void XeDXTColorEndpointsTo8In10(uint4 rgb_565, out uint4 rgb_10b_low,
|
||||||
// Gets the colors of one row of four DXT opaque blocks. Endpoint colors can be
|
// Gets the colors of one row of four DXT opaque blocks. Endpoint colors can be
|
||||||
// obtained using XeDXTColorEndpointsTo8In10 (8 bits with 2 bits of free space
|
// obtained using XeDXTColorEndpointsTo8In10 (8 bits with 2 bits of free space
|
||||||
// between each), weights can be obtained using XeDXTHighColorWeights. Alpha is
|
// between each), weights can be obtained using XeDXTHighColorWeights. Alpha is
|
||||||
// set to 0 in the result. weights_shift is 0 for the first row, 8 for the
|
// set to 0 in the result. Weights must be shifted right by 8 * row index before
|
||||||
// second, 16 for the third, and 24 for the fourth.
|
// calling.
|
||||||
void XeDXTFourBlocksRowToRGB8(uint4 rgb_10b_low, uint4 rgb_10b_high,
|
void XeDXTFourBlocksRowToRGB8(
|
||||||
uint4 weights_high, uint weights_shift,
|
uint4 rgb_10b_low, uint4 rgb_10b_high, uint4 weights_high, out uint4 row_0,
|
||||||
out uint4 row_0, out uint4 row_1,
|
out uint4 row_1, out uint4 row_2, out uint4 row_3) {
|
||||||
out uint4 row_2, out uint4 row_3) {
|
|
||||||
uint4 weights_low = ~weights_high;
|
uint4 weights_low = ~weights_high;
|
||||||
uint4 weights_shifts = weights_shift + uint4(0u, 2u, 4u, 6u);
|
const uint4 weights_shifts = uint4(0u, 2u, 4u, 6u);
|
||||||
uint4 block_row_10b_3x =
|
uint4 block_row_10b_3x =
|
||||||
((weights_low.xxxx >> weights_shifts) & 3u) * rgb_10b_low.x +
|
((weights_low.xxxx >> weights_shifts) & 3u) * rgb_10b_low.x +
|
||||||
((weights_high.xxxx >> weights_shifts) & 3u) * rgb_10b_high.x;
|
((weights_high.xxxx >> weights_shifts) & 3u) * rgb_10b_high.x;
|
||||||
|
@ -145,7 +144,7 @@ void XeDXTFourBlocksRowToRGB8(uint4 rgb_10b_low, uint4 rgb_10b_high,
|
||||||
|
|
||||||
// & 0x249249 = bits 0 of 24 bits of DXT5 alpha codes.
|
// & 0x249249 = bits 0 of 24 bits of DXT5 alpha codes.
|
||||||
// & 0x492492 = bits 1 of 24 bits of DXT5 alpha codes.
|
// & 0x492492 = bits 1 of 24 bits of DXT5 alpha codes.
|
||||||
// & 0x6DB6DB = bits 2 of 24 bits of DXT5 alpha codes.
|
// & 0x924924 = bits 2 of 24 bits of DXT5 alpha codes.
|
||||||
|
|
||||||
// Sorts half (24 bits) of the codes of four DXT5 alpha blocks so they can be
|
// Sorts half (24 bits) of the codes of four DXT5 alpha blocks so they can be
|
||||||
// used as weights for the second endpoint, from 0 to 7, in alpha0 > alpha1
|
// used as weights for the second endpoint, from 0 to 7, in alpha0 > alpha1
|
||||||
|
@ -155,12 +154,11 @@ uint4 XeDXT5High8StepAlphaWeights(uint4 codes_24b) {
|
||||||
// weights from 6:1 to 1:6. Need to make 001 111, and subtract 1 from 010 and
|
// weights from 6:1 to 1:6. Need to make 001 111, and subtract 1 from 010 and
|
||||||
// above.
|
// above.
|
||||||
// Whether the bits are 000 (the first endpoint only).
|
// Whether the bits are 000 (the first endpoint only).
|
||||||
uint4 is_first = ((codes_24b & 0x249249u) & ((codes_24b & 0x492492u) >> 1u) &
|
uint4 is_first = ((codes_24b & 0x249249u) | ((codes_24b & 0x492492u) >> 1u) |
|
||||||
((codes_24b & 0x6DB6DBu) >> 2u)) ^ 0x249249u;
|
((codes_24b & 0x924924u) >> 2u)) ^ 0x249249u;
|
||||||
// Whether the bits are 001 (the second endpoint only).
|
// Whether the bits are 001 (the second endpoint only).
|
||||||
uint4 is_second =
|
uint4 is_second = (codes_24b & 0x249249u) & ~((codes_24b & 0x492492u) >> 1u) &
|
||||||
(codes_24b & 0x249249u) & (0x249249u ^
|
~((codes_24b & 0x924924u) >> 2u);
|
||||||
(((codes_24b & 0x492492u) >> 1u) & ((codes_24b & 0x6DB6DBu) >> 2u)));
|
|
||||||
// Change 000 to 001 so subtracting 1 will result in 0 (and there will never
|
// Change 000 to 001 so subtracting 1 will result in 0 (and there will never
|
||||||
// be overflow), subtract 1, and if the code was originally 001 (the second
|
// be overflow), subtract 1, and if the code was originally 001 (the second
|
||||||
// endpoint only), make it 111.
|
// endpoint only), make it 111.
|
||||||
|
@ -183,20 +181,19 @@ uint4 XeDXT5High6StepAlphaWeights(uint4 codes_24b) {
|
||||||
// 111 - constant 1.
|
// 111 - constant 1.
|
||||||
// Create 3-bit masks (111 or 000) of whether the codes represent 0 or 1
|
// Create 3-bit masks (111 or 000) of whether the codes represent 0 or 1
|
||||||
// constants to keep them 110 and 111 later.
|
// constants to keep them 110 and 111 later.
|
||||||
uint4 is_constant = (codes_24b & 0x492492u) & ((codes_24b & 0x6DB6DBu) >> 1u);
|
uint4 is_constant = codes_24b & 0x492492u & ((codes_24b & 0x924924u) >> 1u);
|
||||||
is_constant |= (is_constant << 1u) | (is_constant >> 1u);
|
is_constant |= (is_constant << 1u) | (is_constant >> 1u);
|
||||||
// Store the codes for the constants (110 or 111), or 0 if not a constant.
|
// Store the codes for the constants (110 or 111), or 0 if not a constant.
|
||||||
uint4 constant_values =
|
uint4 constant_values =
|
||||||
((codes_24b & 0x249249u) | (0x492492u | 0x6DB6DBu)) & is_constant;
|
((codes_24b & 0x249249u) | (0x492492u | 0x924924u)) & is_constant;
|
||||||
// Need to make 001 101, and subtract 1 from 010 and above (constants will be
|
// Need to make 001 101, and subtract 1 from 010 and above (constants will be
|
||||||
// handled separately later).
|
// handled separately later).
|
||||||
// Whether the bits are 000 (the first endpoint only).
|
// Whether the bits are 000 (the first endpoint only).
|
||||||
uint4 is_first = ((codes_24b & 0x249249u) & ((codes_24b & 0x492492u) >> 1u) &
|
uint4 is_first = ((codes_24b & 0x249249u) | ((codes_24b & 0x492492u) >> 1u) |
|
||||||
((codes_24b & 0x6DB6DBu) >> 2u)) ^ 0x249249u;
|
((codes_24b & 0x924924u) >> 2u)) ^ 0x249249u;
|
||||||
// Whether the bits are 001 (the second endpoint only).
|
// Whether the bits are 001 (the second endpoint only).
|
||||||
uint4 is_second =
|
uint4 is_second = (codes_24b & 0x249249u) & ~((codes_24b & 0x492492u) >> 1u) &
|
||||||
(codes_24b & 0x249249u) & (0x249249u ^
|
~((codes_24b & 0x924924u) >> 2u);
|
||||||
(((codes_24b & 0x492492u) >> 1u) & ((codes_24b & 0x6DB6DBu) >> 2u)));
|
|
||||||
// Change 000 to 001 so subtracting 1 will result in 0 (and there will never
|
// Change 000 to 001 so subtracting 1 will result in 0 (and there will never
|
||||||
// be overflow), subtract 1, and if the code was originally 001 (the second
|
// be overflow), subtract 1, and if the code was originally 001 (the second
|
||||||
// endpoint only), make it 101.
|
// endpoint only), make it 101.
|
||||||
|
@ -206,4 +203,41 @@ uint4 XeDXT5High6StepAlphaWeights(uint4 codes_24b) {
|
||||||
return (codes_24b & ~is_constant) | constant_values;
|
return (codes_24b & ~is_constant) | constant_values;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint4 XeDXT5Four8StepBlocksRowToA8(uint4 end_low, uint4 end_high,
|
||||||
|
uint4 weights_8step, uint4 weights_6step) {
|
||||||
|
// Choose the mode.
|
||||||
|
bool4 is_6step = end_low <= end_high;
|
||||||
|
uint4 weights_high = is_6step ? weights_6step : weights_8step;
|
||||||
|
uint4 weight_max = is_6step ? (5u.xxxx) : (7u.xxxx);
|
||||||
|
// In the 6-step mode, make a mask for whether the weights are constants.
|
||||||
|
uint4 is_constant = is_6step ? (weights_6step & 0x492u &
|
||||||
|
((weights_6step & 0x924u) >> 1u))
|
||||||
|
: (0u).xxxx;
|
||||||
|
is_constant |= (is_constant << 1u) | (is_constant >> 1u);
|
||||||
|
// Get the weights for the first endpoint and remove constant from the
|
||||||
|
// interpolation (set weights of the endpoints to 0 for them). First need to
|
||||||
|
// zero the weights of the second endpoint so 6 or 7 won't be subtracted from
|
||||||
|
// 5 while getting the weights of the first endpoint.
|
||||||
|
weights_high &= ~is_constant;
|
||||||
|
uint4 weights_low = ((weight_max * 0x249u) - weights_high) & ~is_constant;
|
||||||
|
// Interpolate.
|
||||||
|
uint4 row =
|
||||||
|
((end_low * (weights_low & 7u) +
|
||||||
|
end_high * (weights_high & 7u)) / weight_max) |
|
||||||
|
(((end_low * ((weights_low >> 3u) & 7u) +
|
||||||
|
end_high * ((weights_high >> 3u) & 7u)) / weight_max) << 8u) |
|
||||||
|
(((end_low * ((weights_low >> 6u) & 7u) +
|
||||||
|
end_high * ((weights_high >> 6u) & 7u)) / weight_max) << 16u) |
|
||||||
|
(((end_low * ((weights_low >> 9u) & 7u) +
|
||||||
|
end_high * ((weights_high >> 9u) & 7u)) / weight_max) << 24u);
|
||||||
|
// Get the constant values as 1 bit per pixel separated by 7 bits.
|
||||||
|
uint4 constant_values = weights_6step & is_constant;
|
||||||
|
constant_values = (constant_values & 1u) |
|
||||||
|
((constant_values & (1u << 3u)) << (8u - 3u)) |
|
||||||
|
((constant_values & (1u << 6u)) << (16u - 6u)) |
|
||||||
|
((constant_values & (1u << 9u)) << (24u - 9u));
|
||||||
|
// Add constant 1 where needed.
|
||||||
|
return row + constant_values * 0xFFu;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // XENIA_GPU_D3D12_SHADERS_PIXEL_FORMATS_HLSLI_
|
#endif // XENIA_GPU_D3D12_SHADERS_PIXEL_FORMATS_HLSLI_
|
||||||
|
|
|
@ -15,22 +15,17 @@
|
||||||
// MM NN OO PP
|
// MM NN OO PP
|
||||||
|
|
||||||
void XeCTX1FourBlocksRowToR8G8(uint4 end_low_rr00gg00, uint4 end_high_rr00gg00,
|
void XeCTX1FourBlocksRowToR8G8(uint4 end_low_rr00gg00, uint4 end_high_rr00gg00,
|
||||||
uint4 weights_high, uint weights_shift,
|
uint4 weights_high, out uint4 row_01,
|
||||||
out uint4 row_01, out uint4 row_23) {
|
out uint4 row_23) {
|
||||||
uint4 weights_low = ~weights_high;
|
uint4 weights_low = ~weights_high;
|
||||||
uint4 weights_shifts = weights_shift + uint4(0u, 2u, 4u, 6u);
|
uint4 row_3aaaa = (weights_low & 3u) * end_low_rr00gg00 +
|
||||||
uint4 row_3aaaa =
|
(weights_high & 3u) * end_high_rr00gg00;
|
||||||
((weights_low >> weights_shifts.x) & 3u) * end_low_rr00gg00 +
|
uint4 row_3bbbb = ((weights_low >> 2u) & 3u) * end_low_rr00gg00 +
|
||||||
((weights_high >> weights_shifts.x) & 3u) * end_high_rr00gg00;
|
((weights_high >> 2u) & 3u) * end_high_rr00gg00;
|
||||||
uint4 row_3bbbb =
|
uint4 row_3cccc = ((weights_low >> 4u) & 3u) * end_low_rr00gg00 +
|
||||||
((weights_low >> weights_shifts.y) & 3u) * end_low_rr00gg00 +
|
((weights_high >> 4u) & 3u) * end_high_rr00gg00;
|
||||||
((weights_high >> weights_shifts.y) & 3u) * end_high_rr00gg00;
|
uint4 row_3dddd = ((weights_low >> 6u) & 3u) * end_low_rr00gg00 +
|
||||||
uint4 row_3cccc =
|
((weights_high >> 6u) & 3u) * end_high_rr00gg00;
|
||||||
((weights_low >> weights_shifts.z) & 3u) * end_low_rr00gg00 +
|
|
||||||
((weights_high >> weights_shifts.z) & 3u) * end_high_rr00gg00;
|
|
||||||
uint4 row_3dddd =
|
|
||||||
((weights_low >> weights_shifts.w) & 3u) * end_low_rr00gg00 +
|
|
||||||
((weights_high >> weights_shifts.w) & 3u) * end_high_rr00gg00;
|
|
||||||
uint4 row_half_3acac = uint4(row_3aaaa.xy, row_3cccc.xy).xzyw;
|
uint4 row_half_3acac = uint4(row_3aaaa.xy, row_3cccc.xy).xzyw;
|
||||||
uint4 row_half_3bdbd = uint4(row_3bbbb.xy, row_3dddd.xy).xzyw;
|
uint4 row_half_3bdbd = uint4(row_3bbbb.xy, row_3dddd.xy).xzyw;
|
||||||
// R0A G0A R0B G0B | R0C G0C R0D G0D | R1A G1A R1B G1B | R1C G1C R1D G1D
|
// R0A G0A R0B G0B | R0C G0C R0D G0D | R1A G1A R1B G1B | R1C G1C R1D G1D
|
||||||
|
@ -85,8 +80,8 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
||||||
xe_texture_copy_host_pitch, 2u) + xe_texture_copy_host_base;
|
xe_texture_copy_host_pitch, 2u) + xe_texture_copy_host_base;
|
||||||
for (uint i = 0u; i < 4u; ++i) {
|
for (uint i = 0u; i < 4u; ++i) {
|
||||||
uint4 row_01, row_23;
|
uint4 row_01, row_23;
|
||||||
XeCTX1FourBlocksRowToR8G8(end_low_rr00gg00, end_high_rr00gg00, weights_high,
|
XeCTX1FourBlocksRowToR8G8(end_low_rr00gg00, end_high_rr00gg00,
|
||||||
i * 8u, row_01, row_23);
|
weights_high >> (i * 8u), row_01, row_23);
|
||||||
xe_texture_copy_dest.Store4(texel_offset_host, row_01);
|
xe_texture_copy_dest.Store4(texel_offset_host, row_01);
|
||||||
xe_texture_copy_dest.Store4(texel_offset_host + 16u, row_23);
|
xe_texture_copy_dest.Store4(texel_offset_host + 16u, row_23);
|
||||||
if (++texel_index_host.y >= xe_texture_copy_size_texels.y) {
|
if (++texel_index_host.y >= xe_texture_copy_size_texels.y) {
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
#include "pixel_formats.hlsli"
|
#include "pixel_formats.hlsli"
|
||||||
#include "texture_copy.hlsli"
|
#include "texture_copy.hlsli"
|
||||||
|
|
||||||
void XeDXT1FourTransBlocksRowToRGBA8(uint4 rgb_10b_low, uint4 rgb_10b_high,
|
void XeDXT1FourTransBlocksRowToRGBA8(
|
||||||
uint4 weights, uint4 weights_shift,
|
uint4 rgb_10b_low, uint4 rgb_10b_high, uint4 weights, out uint4 row_0,
|
||||||
out uint4 row_0, out uint4 row_1,
|
out uint4 row_1, out uint4 row_2, out uint4 row_3) {
|
||||||
out uint4 row_2, out uint4 row_3) {
|
const uint4 weights_shifts_low = uint4(0u, 2u, 4u, 6u);
|
||||||
uint4 weights_shifts_low = weights_shift + uint4(0u, 2u, 4u, 6u);
|
const uint4 weights_shifts_high = uint4(1u, 3u, 5u, 7u);
|
||||||
uint4 weights_shifts_high = weights_shifts_low + 1u;
|
|
||||||
// Whether the texel is (RGB0+RGB1)/2 - divide the weighted sum by 2 (shift
|
// Whether the texel is (RGB0+RGB1)/2 - divide the weighted sum by 2 (shift
|
||||||
// right by 1) if it is.
|
// right by 1) if it is.
|
||||||
uint4 weights_sums_log2 = weights & ((weights & 0xAAAAAAAAu) >> 1u);
|
uint4 weights_sums_log2 = weights & ((weights & 0xAAAAAAAAu) >> 1u);
|
||||||
|
@ -92,17 +91,17 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
||||||
xe_texture_copy_host_pitch, 4u) + xe_texture_copy_host_base;
|
xe_texture_copy_host_pitch, 4u) + xe_texture_copy_host_base;
|
||||||
for (uint i = 0u; i < 4u; ++i) {
|
for (uint i = 0u; i < 4u; ++i) {
|
||||||
uint4 row_opaque_0, row_opaque_1, row_opaque_2, row_opaque_3;
|
uint4 row_opaque_0, row_opaque_1, row_opaque_2, row_opaque_3;
|
||||||
XeDXTFourBlocksRowToRGB8(rgb_10b_low, rgb_10b_high, weights_opaque_high,
|
XeDXTFourBlocksRowToRGB8(rgb_10b_low, rgb_10b_high,
|
||||||
i * 8u, row_opaque_0, row_opaque_1, row_opaque_2,
|
weights_opaque_high >> (i * 8u), row_opaque_0,
|
||||||
row_opaque_3);
|
row_opaque_1, row_opaque_2, row_opaque_3);
|
||||||
row_opaque_0 |= 0xFF000000u;
|
row_opaque_0 |= 0xFF000000u;
|
||||||
row_opaque_1 |= 0xFF000000u;
|
row_opaque_1 |= 0xFF000000u;
|
||||||
row_opaque_2 |= 0xFF000000u;
|
row_opaque_2 |= 0xFF000000u;
|
||||||
row_opaque_3 |= 0xFF000000u;
|
row_opaque_3 |= 0xFF000000u;
|
||||||
uint4 row_trans_0, row_trans_1, row_trans_2, row_trans_3;
|
uint4 row_trans_0, row_trans_1, row_trans_2, row_trans_3;
|
||||||
XeDXT1FourTransBlocksRowToRGBA8(rgb_10b_low, rgb_10b_high, weights_trans,
|
XeDXT1FourTransBlocksRowToRGBA8(rgb_10b_low, rgb_10b_high,
|
||||||
i * 8u, row_trans_0, row_trans_1,
|
weights_trans >> (i * 8u), row_trans_0,
|
||||||
row_trans_2, row_trans_3);
|
row_trans_1, row_trans_2, row_trans_3);
|
||||||
xe_texture_copy_dest.Store4(texel_offset_host,
|
xe_texture_copy_dest.Store4(texel_offset_host,
|
||||||
is_trans.x ? row_trans_0 : row_opaque_0);
|
is_trans.x ? row_trans_0 : row_opaque_0);
|
||||||
xe_texture_copy_dest.Store4(texel_offset_host + 16u,
|
xe_texture_copy_dest.Store4(texel_offset_host + 16u,
|
||||||
|
|
|
@ -0,0 +1,79 @@
|
||||||
|
#include "pixel_formats.hlsli"
|
||||||
|
#include "texture_copy.hlsli"
|
||||||
|
|
||||||
|
[numthreads(8, 32, 1)]
|
||||||
|
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
||||||
|
// 1 thread = 4 DXT5 (16bpb) blocks to 16x4 R8G8B8A8 texels.
|
||||||
|
uint3 block_index = xe_thread_id;
|
||||||
|
block_index.x <<= 2u;
|
||||||
|
[branch] if (any(block_index >= xe_texture_copy_size_blocks)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
uint4 block_offsets_guest =
|
||||||
|
XeTextureCopyGuestBlockOffsets(block_index, 16u, 4u);
|
||||||
|
uint4 block_0 = xe_texture_copy_source.Load4(block_offsets_guest.x);
|
||||||
|
uint4 block_1 = xe_texture_copy_source.Load4(block_offsets_guest.y);
|
||||||
|
uint4 block_2 = xe_texture_copy_source.Load4(block_offsets_guest.z);
|
||||||
|
uint4 block_3 = xe_texture_copy_source.Load4(block_offsets_guest.w);
|
||||||
|
block_0 = XeByteSwap(block_0, xe_texture_copy_endianness);
|
||||||
|
block_1 = XeByteSwap(block_1, xe_texture_copy_endianness);
|
||||||
|
block_2 = XeByteSwap(block_2, xe_texture_copy_endianness);
|
||||||
|
block_3 = XeByteSwap(block_3, xe_texture_copy_endianness);
|
||||||
|
uint4 alpha_blocks_0 = uint4(block_0.x, block_1.x, block_2.x, block_3.x);
|
||||||
|
uint4 alpha_blocks_1 = uint4(block_0.y, block_1.y, block_2.y, block_3.y);
|
||||||
|
|
||||||
|
uint4 rgb_codes = uint4(block_0.w, block_1.w, block_2.w, block_3.w);
|
||||||
|
// Sort the color indices so they can be used as weights for the second
|
||||||
|
// endpoint.
|
||||||
|
uint4 rgb_weights_high = XeDXTHighColorWeights(rgb_codes);
|
||||||
|
// Sort the alpha indices.
|
||||||
|
uint4 alpha_codes_r01 =
|
||||||
|
(alpha_blocks_0 >> 16u) | ((alpha_blocks_1 & 0xFFu) << 16u);
|
||||||
|
uint4 alpha_codes_r23 = alpha_blocks_1 >> 8u;
|
||||||
|
uint4 alpha_weights_8step_r01 = XeDXT5High8StepAlphaWeights(alpha_codes_r01);
|
||||||
|
uint4 alpha_weights_8step_r23 = XeDXT5High8StepAlphaWeights(alpha_codes_r23);
|
||||||
|
uint4 alpha_weights_6step_r01 = XeDXT5High6StepAlphaWeights(alpha_codes_r01);
|
||||||
|
uint4 alpha_weights_6step_r23 = XeDXT5High6StepAlphaWeights(alpha_codes_r23);
|
||||||
|
|
||||||
|
// Get the endpoints for mixing, as 8-bit components in 10-bit sequences.
|
||||||
|
uint4 rgb_565 = uint4(block_0.z, block_1.z, block_2.z, block_3.z);
|
||||||
|
uint4 rgb_10b_low, rgb_10b_high;
|
||||||
|
XeDXTColorEndpointsTo8In10(rgb_565, rgb_10b_low, rgb_10b_high);
|
||||||
|
// Get the alpha endpoints.
|
||||||
|
uint4 alpha_end_low = alpha_blocks_0 & 0xFFu;
|
||||||
|
uint4 alpha_end_high = (alpha_blocks_0 >> 8u) & 0xFFu;
|
||||||
|
|
||||||
|
// Uncompress and write the rows.
|
||||||
|
uint3 texel_index_host = block_index << uint3(2u, 2u, 0u);
|
||||||
|
uint texel_offset_host = XeTextureHostLinearOffset(
|
||||||
|
texel_index_host, xe_texture_copy_size_texels.y,
|
||||||
|
xe_texture_copy_host_pitch, 4u) + xe_texture_copy_host_base;
|
||||||
|
for (uint i = 0u; i < 4u; ++i) {
|
||||||
|
uint4 row_0, row_1, row_2, row_3;
|
||||||
|
XeDXTFourBlocksRowToRGB8(rgb_10b_low, rgb_10b_high,
|
||||||
|
rgb_weights_high >> (i * 8u),
|
||||||
|
row_0, row_1, row_2, row_3);
|
||||||
|
uint4 alpha_row = XeDXT5Four8StepBlocksRowToA8(
|
||||||
|
alpha_end_low, alpha_end_high,
|
||||||
|
(i < 2u ? alpha_weights_8step_r01 : alpha_weights_8step_r23) >>
|
||||||
|
((i & 1u) * 12u),
|
||||||
|
(i < 2u ? alpha_weights_6step_r01 : alpha_weights_6step_r23) >>
|
||||||
|
((i & 1u) * 12u));
|
||||||
|
xe_texture_copy_dest.Store4(
|
||||||
|
texel_offset_host,
|
||||||
|
row_0 | ((alpha_row.xxxx << uint4(24u, 16u, 8u, 0u)) & 0xFF000000u));
|
||||||
|
xe_texture_copy_dest.Store4(
|
||||||
|
texel_offset_host + 16u,
|
||||||
|
row_1 | ((alpha_row.yyyy << uint4(24u, 16u, 8u, 0u)) & 0xFF000000u));
|
||||||
|
xe_texture_copy_dest.Store4(
|
||||||
|
texel_offset_host + 32u,
|
||||||
|
row_2 | ((alpha_row.zzzz << uint4(24u, 16u, 8u, 0u)) & 0xFF000000u));
|
||||||
|
xe_texture_copy_dest.Store4(
|
||||||
|
texel_offset_host + 48u,
|
||||||
|
row_3 | ((alpha_row.wwww << uint4(24u, 16u, 8u, 0u)) & 0xFF000000u));
|
||||||
|
if (++texel_index_host.y >= xe_texture_copy_size_texels.y) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
texel_offset_host += xe_texture_copy_host_pitch;
|
||||||
|
}
|
||||||
|
}
|
|
@ -36,6 +36,7 @@ namespace d3d12 {
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_depth_unorm_cs.h"
|
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_depth_unorm_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt1_rgba8_cs.h"
|
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt1_rgba8_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3a_cs.h"
|
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3a_cs.h"
|
||||||
|
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5_rgba8_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_tile_32bpp_cs.h"
|
#include "xenia/gpu/d3d12/shaders/dxbc/texture_tile_32bpp_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_tile_64bpp_cs.h"
|
#include "xenia/gpu/d3d12/shaders/dxbc/texture_tile_64bpp_cs.h"
|
||||||
|
|
||||||
|
@ -182,6 +183,7 @@ const TextureCache::LoadModeInfo TextureCache::load_mode_info_[] = {
|
||||||
{texture_load_64bpb_cs, sizeof(texture_load_64bpb_cs)},
|
{texture_load_64bpb_cs, sizeof(texture_load_64bpb_cs)},
|
||||||
{texture_load_128bpb_cs, sizeof(texture_load_128bpb_cs)},
|
{texture_load_128bpb_cs, sizeof(texture_load_128bpb_cs)},
|
||||||
{texture_load_dxt1_rgba8_cs, sizeof(texture_load_dxt1_rgba8_cs)},
|
{texture_load_dxt1_rgba8_cs, sizeof(texture_load_dxt1_rgba8_cs)},
|
||||||
|
{texture_load_dxt5_rgba8_cs, sizeof(texture_load_dxt5_rgba8_cs)},
|
||||||
{texture_load_dxt3a_cs, sizeof(texture_load_dxt3a_cs)},
|
{texture_load_dxt3a_cs, sizeof(texture_load_dxt3a_cs)},
|
||||||
{texture_load_ctx1_cs, sizeof(texture_load_ctx1_cs)},
|
{texture_load_ctx1_cs, sizeof(texture_load_ctx1_cs)},
|
||||||
{texture_load_depth_unorm_cs, sizeof(texture_load_depth_unorm_cs)},
|
{texture_load_depth_unorm_cs, sizeof(texture_load_depth_unorm_cs)},
|
||||||
|
|
|
@ -100,6 +100,7 @@ class TextureCache {
|
||||||
k64bpb,
|
k64bpb,
|
||||||
k128bpb,
|
k128bpb,
|
||||||
kDXT1AsRGBA8,
|
kDXT1AsRGBA8,
|
||||||
|
kDXT5AsRGBA8,
|
||||||
kDXT3A,
|
kDXT3A,
|
||||||
kCTX1,
|
kCTX1,
|
||||||
kDepthUnorm,
|
kDepthUnorm,
|
||||||
|
|
Loading…
Reference in New Issue