[D3D12] Rename XeTextureCopy to XeTextureLoad in shaders
This commit is contained in:
parent
9dc7dfab02
commit
34946c57b0
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
// generated from `xb buildhlsl`
|
||||
// source: texture_load_128bpb.cs.hlsl
|
||||
const uint8_t texture_load_128bpb_cs[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0xE4, 0x19, 0xE2, 0x27, 0x5E, 0x18, 0x54, 0x11,
|
||||
0x34, 0x8A, 0x4C, 0xA9, 0x5C, 0xA3, 0x30, 0x51, 0x01, 0x00, 0x00, 0x00,
|
||||
0x44, 0x58, 0x42, 0x43, 0x74, 0xB9, 0x4D, 0x1C, 0x2D, 0x5F, 0x4D, 0x37,
|
||||
0xE8, 0x97, 0x0A, 0xE3, 0x4A, 0x47, 0xF5, 0x08, 0x01, 0x00, 0x00, 0x00,
|
||||
0xF8, 0x1A, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||
0x9C, 0x04, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00,
|
||||
0x5C, 0x1A, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x60, 0x04, 0x00, 0x00,
|
||||
|
@ -21,11 +21,11 @@ const uint8_t texture_load_128bpb_cs[] = {
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F,
|
||||
0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x43, 0x6F, 0x6E,
|
||||
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x0A, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00,
|
||||
|
@ -62,39 +62,39 @@ const uint8_t texture_load_128bpb_cs[] = {
|
|||
0x3C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x73, 0x65, 0x00, 0x64, 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB,
|
||||
0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x01, 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, 0xBB, 0x02, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F,
|
||||
0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73,
|
||||
0x00, 0x75, 0x69, 0x6E, 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00,
|
||||
0x01, 0x00, 0x03, 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, 0x55, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x73, 0x5F, 0x33, 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 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, 0x96, 0x03, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x63, 0x6B, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x61, 0x6E, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67,
|
||||
0x75, 0x65, 0x73, 0x74, 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4D, 0x69, 0x63,
|
||||
0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48,
|
||||
0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43,
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer XeTextureCopyConstants
|
||||
// cbuffer XeTextureLoadConstants
|
||||
// {
|
||||
//
|
||||
// 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 [unused]
|
||||
// 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
|
||||
// uint xe_texture_copy_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
// uint xe_texture_load_guest_base; // Offset: 0 Size: 4
|
||||
// uint xe_texture_load_guest_pitch; // Offset: 4 Size: 4
|
||||
// uint xe_texture_load_host_base; // Offset: 8 Size: 4
|
||||
// uint xe_texture_load_host_pitch; // Offset: 12 Size: 4
|
||||
// uint3 xe_texture_load_size_texels; // Offset: 16 Size: 12 [unused]
|
||||
// bool xe_texture_load_is_3d; // Offset: 28 Size: 4
|
||||
// uint3 xe_texture_load_size_blocks; // Offset: 32 Size: 12
|
||||
// uint xe_texture_load_endianness; // Offset: 44 Size: 4
|
||||
// uint3 xe_texture_load_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_load_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
//
|
||||
// }
|
||||
//
|
||||
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
// 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
|
||||
// xe_texture_load_source texture byte r/o T0 t0 1
|
||||
// xe_texture_load_dest UAV byte r/w U0 u0 1
|
||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
// generated from `xb buildhlsl`
|
||||
// source: texture_load_16bpb.cs.hlsl
|
||||
const uint8_t texture_load_16bpb_cs[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x89, 0xC6, 0x55, 0x9A, 0xDD, 0x87, 0xBC, 0x04,
|
||||
0x9F, 0x66, 0x9D, 0xCB, 0xCA, 0xCA, 0xA6, 0x4C, 0x01, 0x00, 0x00, 0x00,
|
||||
0x44, 0x58, 0x42, 0x43, 0xD5, 0x7A, 0x9A, 0xEE, 0x5E, 0xBE, 0xC1, 0xE4,
|
||||
0xBD, 0x30, 0xB7, 0x40, 0x73, 0x39, 0x56, 0xAB, 0x01, 0x00, 0x00, 0x00,
|
||||
0xBC, 0x1B, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||
0x9C, 0x04, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00,
|
||||
0x20, 0x1B, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x60, 0x04, 0x00, 0x00,
|
||||
|
@ -21,11 +21,11 @@ const uint8_t texture_load_16bpb_cs[] = {
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F,
|
||||
0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x43, 0x6F, 0x6E,
|
||||
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x0A, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00,
|
||||
|
@ -62,39 +62,39 @@ const uint8_t texture_load_16bpb_cs[] = {
|
|||
0x3C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x73, 0x65, 0x00, 0x64, 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB,
|
||||
0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x01, 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, 0xBB, 0x02, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F,
|
||||
0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73,
|
||||
0x00, 0x75, 0x69, 0x6E, 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00,
|
||||
0x01, 0x00, 0x03, 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, 0x55, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x73, 0x5F, 0x33, 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 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, 0x96, 0x03, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x63, 0x6B, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x61, 0x6E, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67,
|
||||
0x75, 0x65, 0x73, 0x74, 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4D, 0x69, 0x63,
|
||||
0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48,
|
||||
0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43,
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer XeTextureCopyConstants
|
||||
// cbuffer XeTextureLoadConstants
|
||||
// {
|
||||
//
|
||||
// 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 [unused]
|
||||
// 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
|
||||
// uint xe_texture_copy_guest_format; // Offset: 60 Size: 4
|
||||
// uint xe_texture_load_guest_base; // Offset: 0 Size: 4
|
||||
// uint xe_texture_load_guest_pitch; // Offset: 4 Size: 4
|
||||
// uint xe_texture_load_host_base; // Offset: 8 Size: 4
|
||||
// uint xe_texture_load_host_pitch; // Offset: 12 Size: 4
|
||||
// uint3 xe_texture_load_size_texels; // Offset: 16 Size: 12 [unused]
|
||||
// bool xe_texture_load_is_3d; // Offset: 28 Size: 4
|
||||
// uint3 xe_texture_load_size_blocks; // Offset: 32 Size: 12
|
||||
// uint xe_texture_load_endianness; // Offset: 44 Size: 4
|
||||
// uint3 xe_texture_load_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_load_guest_format; // Offset: 60 Size: 4
|
||||
//
|
||||
// }
|
||||
//
|
||||
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
// 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
|
||||
// xe_texture_load_source texture byte r/o T0 t0 1
|
||||
// xe_texture_load_dest UAV byte r/w U0 u0 1
|
||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
// generated from `xb buildhlsl`
|
||||
// source: texture_load_32bpb.cs.hlsl
|
||||
const uint8_t texture_load_32bpb_cs[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x8E, 0x21, 0xCF, 0x20, 0x7A, 0x93, 0xC9, 0x82,
|
||||
0x0F, 0xFC, 0xB7, 0x41, 0xE2, 0x59, 0x0C, 0x41, 0x01, 0x00, 0x00, 0x00,
|
||||
0x44, 0x58, 0x42, 0x43, 0xE2, 0x96, 0x79, 0xB2, 0xCC, 0xD8, 0xCB, 0x6F,
|
||||
0xFF, 0x2D, 0x5A, 0xF4, 0xC8, 0xA0, 0x3E, 0x52, 0x01, 0x00, 0x00, 0x00,
|
||||
0x7C, 0x18, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||
0x9C, 0x04, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00,
|
||||
0xE0, 0x17, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x60, 0x04, 0x00, 0x00,
|
||||
|
@ -21,11 +21,11 @@ const uint8_t texture_load_32bpb_cs[] = {
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F,
|
||||
0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x43, 0x6F, 0x6E,
|
||||
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x0A, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00,
|
||||
|
@ -62,39 +62,39 @@ const uint8_t texture_load_32bpb_cs[] = {
|
|||
0x3C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x73, 0x65, 0x00, 0x64, 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB,
|
||||
0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x01, 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, 0xBB, 0x02, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F,
|
||||
0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73,
|
||||
0x00, 0x75, 0x69, 0x6E, 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00,
|
||||
0x01, 0x00, 0x03, 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, 0x55, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x73, 0x5F, 0x33, 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 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, 0x96, 0x03, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x63, 0x6B, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x61, 0x6E, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67,
|
||||
0x75, 0x65, 0x73, 0x74, 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4D, 0x69, 0x63,
|
||||
0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48,
|
||||
0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43,
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer XeTextureCopyConstants
|
||||
// cbuffer XeTextureLoadConstants
|
||||
// {
|
||||
//
|
||||
// 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 [unused]
|
||||
// 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
|
||||
// uint xe_texture_copy_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
// uint xe_texture_load_guest_base; // Offset: 0 Size: 4
|
||||
// uint xe_texture_load_guest_pitch; // Offset: 4 Size: 4
|
||||
// uint xe_texture_load_host_base; // Offset: 8 Size: 4
|
||||
// uint xe_texture_load_host_pitch; // Offset: 12 Size: 4
|
||||
// uint3 xe_texture_load_size_texels; // Offset: 16 Size: 12 [unused]
|
||||
// bool xe_texture_load_is_3d; // Offset: 28 Size: 4
|
||||
// uint3 xe_texture_load_size_blocks; // Offset: 32 Size: 12
|
||||
// uint xe_texture_load_endianness; // Offset: 44 Size: 4
|
||||
// uint3 xe_texture_load_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_load_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
//
|
||||
// }
|
||||
//
|
||||
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
// 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
|
||||
// xe_texture_load_source texture byte r/o T0 t0 1
|
||||
// xe_texture_load_dest UAV byte r/w U0 u0 1
|
||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
// generated from `xb buildhlsl`
|
||||
// source: texture_load_64bpb.cs.hlsl
|
||||
const uint8_t texture_load_64bpb_cs[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x56, 0xB1, 0xBD, 0xAF, 0xC7, 0xA8, 0x08, 0x9A,
|
||||
0x2E, 0x1C, 0x7A, 0x33, 0xE6, 0x67, 0x13, 0x2C, 0x01, 0x00, 0x00, 0x00,
|
||||
0x44, 0x58, 0x42, 0x43, 0xD7, 0x3B, 0xFC, 0xE7, 0x64, 0x87, 0xEF, 0xC3,
|
||||
0x18, 0xC8, 0x0D, 0x8C, 0x43, 0xDA, 0x47, 0xCE, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x1A, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||
0x9C, 0x04, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00,
|
||||
0x64, 0x19, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x60, 0x04, 0x00, 0x00,
|
||||
|
@ -21,11 +21,11 @@ const uint8_t texture_load_64bpb_cs[] = {
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F,
|
||||
0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x43, 0x6F, 0x6E,
|
||||
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x0A, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00,
|
||||
|
@ -62,39 +62,39 @@ const uint8_t texture_load_64bpb_cs[] = {
|
|||
0x3C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x73, 0x65, 0x00, 0x64, 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB,
|
||||
0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x01, 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, 0xBB, 0x02, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F,
|
||||
0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73,
|
||||
0x00, 0x75, 0x69, 0x6E, 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00,
|
||||
0x01, 0x00, 0x03, 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, 0x55, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x73, 0x5F, 0x33, 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 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, 0x96, 0x03, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x63, 0x6B, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x61, 0x6E, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67,
|
||||
0x75, 0x65, 0x73, 0x74, 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4D, 0x69, 0x63,
|
||||
0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48,
|
||||
0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43,
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer XeTextureCopyConstants
|
||||
// cbuffer XeTextureLoadConstants
|
||||
// {
|
||||
//
|
||||
// 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 [unused]
|
||||
// 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
|
||||
// uint xe_texture_copy_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
// uint xe_texture_load_guest_base; // Offset: 0 Size: 4
|
||||
// uint xe_texture_load_guest_pitch; // Offset: 4 Size: 4
|
||||
// uint xe_texture_load_host_base; // Offset: 8 Size: 4
|
||||
// uint xe_texture_load_host_pitch; // Offset: 12 Size: 4
|
||||
// uint3 xe_texture_load_size_texels; // Offset: 16 Size: 12 [unused]
|
||||
// bool xe_texture_load_is_3d; // Offset: 28 Size: 4
|
||||
// uint3 xe_texture_load_size_blocks; // Offset: 32 Size: 12
|
||||
// uint xe_texture_load_endianness; // Offset: 44 Size: 4
|
||||
// uint3 xe_texture_load_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_load_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
//
|
||||
// }
|
||||
//
|
||||
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
// 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
|
||||
// xe_texture_load_source texture byte r/o T0 t0 1
|
||||
// xe_texture_load_dest UAV byte r/w U0 u0 1
|
||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
// generated from `xb buildhlsl`
|
||||
// source: texture_load_8bpb.cs.hlsl
|
||||
const uint8_t texture_load_8bpb_cs[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0xDA, 0xF4, 0xB1, 0xBC, 0xDA, 0xB2, 0xE0, 0x8E,
|
||||
0x71, 0x24, 0x04, 0x16, 0xBC, 0x32, 0x0D, 0x03, 0x01, 0x00, 0x00, 0x00,
|
||||
0x44, 0x58, 0x42, 0x43, 0x09, 0xC6, 0xAE, 0x41, 0x7A, 0x26, 0x75, 0xA9,
|
||||
0xA8, 0x7B, 0x17, 0xAA, 0xD3, 0x38, 0x81, 0x22, 0x01, 0x00, 0x00, 0x00,
|
||||
0x84, 0x17, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||
0x9C, 0x04, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00,
|
||||
0xE8, 0x16, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x60, 0x04, 0x00, 0x00,
|
||||
|
@ -21,11 +21,11 @@ const uint8_t texture_load_8bpb_cs[] = {
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F,
|
||||
0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x43, 0x6F, 0x6E,
|
||||
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x0A, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00,
|
||||
|
@ -62,39 +62,39 @@ const uint8_t texture_load_8bpb_cs[] = {
|
|||
0x3C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x73, 0x65, 0x00, 0x64, 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB,
|
||||
0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x01, 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, 0xBB, 0x02, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F,
|
||||
0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73,
|
||||
0x00, 0x75, 0x69, 0x6E, 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00,
|
||||
0x01, 0x00, 0x03, 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, 0x55, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x73, 0x5F, 0x33, 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 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, 0x96, 0x03, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x63, 0x6B, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x61, 0x6E, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67,
|
||||
0x75, 0x65, 0x73, 0x74, 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4D, 0x69, 0x63,
|
||||
0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48,
|
||||
0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43,
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer XeTextureCopyConstants
|
||||
// cbuffer XeTextureLoadConstants
|
||||
// {
|
||||
//
|
||||
// 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 [unused]
|
||||
// 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 [unused]
|
||||
// uint3 xe_texture_copy_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_copy_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
// uint xe_texture_load_guest_base; // Offset: 0 Size: 4
|
||||
// uint xe_texture_load_guest_pitch; // Offset: 4 Size: 4
|
||||
// uint xe_texture_load_host_base; // Offset: 8 Size: 4
|
||||
// uint xe_texture_load_host_pitch; // Offset: 12 Size: 4
|
||||
// uint3 xe_texture_load_size_texels; // Offset: 16 Size: 12 [unused]
|
||||
// bool xe_texture_load_is_3d; // Offset: 28 Size: 4
|
||||
// uint3 xe_texture_load_size_blocks; // Offset: 32 Size: 12
|
||||
// uint xe_texture_load_endianness; // Offset: 44 Size: 4 [unused]
|
||||
// uint3 xe_texture_load_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_load_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
//
|
||||
// }
|
||||
//
|
||||
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
// 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
|
||||
// xe_texture_load_source texture byte r/o T0 t0 1
|
||||
// xe_texture_load_dest UAV byte r/w U0 u0 1
|
||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
// generated from `xb buildhlsl`
|
||||
// source: texture_load_ctx1.cs.hlsl
|
||||
const uint8_t texture_load_ctx1_cs[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x3D, 0x26, 0x8C, 0x76, 0x2A, 0xB0, 0xA4, 0x76,
|
||||
0xF6, 0x3A, 0x8A, 0x32, 0xD9, 0x2C, 0xD2, 0x06, 0x01, 0x00, 0x00, 0x00,
|
||||
0x44, 0x58, 0x42, 0x43, 0xFB, 0xCF, 0xEB, 0xE6, 0xB4, 0xF9, 0xC2, 0x0D,
|
||||
0x65, 0x97, 0x43, 0xD2, 0xCE, 0xBC, 0x70, 0x93, 0x01, 0x00, 0x00, 0x00,
|
||||
0xE8, 0x25, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||
0x9C, 0x04, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00,
|
||||
0x4C, 0x25, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x60, 0x04, 0x00, 0x00,
|
||||
|
@ -21,11 +21,11 @@ const uint8_t texture_load_ctx1_cs[] = {
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F,
|
||||
0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x43, 0x6F, 0x6E,
|
||||
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x0A, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00,
|
||||
|
@ -62,39 +62,39 @@ const uint8_t texture_load_ctx1_cs[] = {
|
|||
0x3C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x73, 0x65, 0x00, 0x64, 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB,
|
||||
0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x01, 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, 0xBB, 0x02, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F,
|
||||
0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73,
|
||||
0x00, 0x75, 0x69, 0x6E, 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00,
|
||||
0x01, 0x00, 0x03, 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, 0x55, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x73, 0x5F, 0x33, 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 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, 0x96, 0x03, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x63, 0x6B, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x61, 0x6E, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67,
|
||||
0x75, 0x65, 0x73, 0x74, 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4D, 0x69, 0x63,
|
||||
0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48,
|
||||
0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43,
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer XeTextureCopyConstants
|
||||
// cbuffer XeTextureLoadConstants
|
||||
// {
|
||||
//
|
||||
// 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
|
||||
// uint xe_texture_copy_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
// uint xe_texture_load_guest_base; // Offset: 0 Size: 4
|
||||
// uint xe_texture_load_guest_pitch; // Offset: 4 Size: 4
|
||||
// uint xe_texture_load_host_base; // Offset: 8 Size: 4
|
||||
// uint xe_texture_load_host_pitch; // Offset: 12 Size: 4
|
||||
// uint3 xe_texture_load_size_texels; // Offset: 16 Size: 12
|
||||
// bool xe_texture_load_is_3d; // Offset: 28 Size: 4
|
||||
// uint3 xe_texture_load_size_blocks; // Offset: 32 Size: 12
|
||||
// uint xe_texture_load_endianness; // Offset: 44 Size: 4
|
||||
// uint3 xe_texture_load_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_load_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
//
|
||||
// }
|
||||
//
|
||||
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
// 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
|
||||
// xe_texture_load_source texture byte r/o T0 t0 1
|
||||
// xe_texture_load_dest UAV byte r/w U0 u0 1
|
||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
// generated from `xb buildhlsl`
|
||||
// source: texture_load_depth_float.cs.hlsl
|
||||
const uint8_t texture_load_depth_float_cs[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0xB8, 0xCB, 0xA4, 0xC1, 0x10, 0x5C, 0xAF, 0x25,
|
||||
0x06, 0xC2, 0x99, 0xDD, 0x08, 0x83, 0x16, 0x52, 0x01, 0x00, 0x00, 0x00,
|
||||
0x44, 0x58, 0x42, 0x43, 0x2D, 0x2F, 0x28, 0x85, 0x3A, 0x4D, 0x05, 0x45,
|
||||
0x52, 0x77, 0x1A, 0x20, 0x59, 0x6B, 0x54, 0x51, 0x01, 0x00, 0x00, 0x00,
|
||||
0xF0, 0x1A, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||
0x9C, 0x04, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00,
|
||||
0x54, 0x1A, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x60, 0x04, 0x00, 0x00,
|
||||
|
@ -21,11 +21,11 @@ const uint8_t texture_load_depth_float_cs[] = {
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F,
|
||||
0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x43, 0x6F, 0x6E,
|
||||
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x0A, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00,
|
||||
|
@ -62,39 +62,39 @@ const uint8_t texture_load_depth_float_cs[] = {
|
|||
0x3C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x73, 0x65, 0x00, 0x64, 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB,
|
||||
0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x01, 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, 0xBB, 0x02, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F,
|
||||
0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73,
|
||||
0x00, 0x75, 0x69, 0x6E, 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00,
|
||||
0x01, 0x00, 0x03, 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, 0x55, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x73, 0x5F, 0x33, 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 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, 0x96, 0x03, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x63, 0x6B, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x61, 0x6E, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67,
|
||||
0x75, 0x65, 0x73, 0x74, 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4D, 0x69, 0x63,
|
||||
0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48,
|
||||
0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43,
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer XeTextureCopyConstants
|
||||
// cbuffer XeTextureLoadConstants
|
||||
// {
|
||||
//
|
||||
// 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 [unused]
|
||||
// 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
|
||||
// uint xe_texture_copy_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
// uint xe_texture_load_guest_base; // Offset: 0 Size: 4
|
||||
// uint xe_texture_load_guest_pitch; // Offset: 4 Size: 4
|
||||
// uint xe_texture_load_host_base; // Offset: 8 Size: 4
|
||||
// uint xe_texture_load_host_pitch; // Offset: 12 Size: 4
|
||||
// uint3 xe_texture_load_size_texels; // Offset: 16 Size: 12 [unused]
|
||||
// bool xe_texture_load_is_3d; // Offset: 28 Size: 4
|
||||
// uint3 xe_texture_load_size_blocks; // Offset: 32 Size: 12
|
||||
// uint xe_texture_load_endianness; // Offset: 44 Size: 4
|
||||
// uint3 xe_texture_load_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_load_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
//
|
||||
// }
|
||||
//
|
||||
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
// 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
|
||||
// xe_texture_load_source texture byte r/o T0 t0 1
|
||||
// xe_texture_load_dest UAV byte r/w U0 u0 1
|
||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
// generated from `xb buildhlsl`
|
||||
// source: texture_load_depth_unorm.cs.hlsl
|
||||
const uint8_t texture_load_depth_unorm_cs[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0xAE, 0x52, 0xFE, 0xF6, 0x2A, 0x15, 0x3D, 0xD8,
|
||||
0xFA, 0x96, 0x9A, 0x21, 0xA8, 0x3B, 0x15, 0xFE, 0x01, 0x00, 0x00, 0x00,
|
||||
0x44, 0x58, 0x42, 0x43, 0xE6, 0xD6, 0xF2, 0x1A, 0x99, 0x7A, 0x0D, 0x75,
|
||||
0x41, 0xC2, 0x4D, 0xC9, 0xEB, 0xE2, 0xD5, 0x3E, 0x01, 0x00, 0x00, 0x00,
|
||||
0xE0, 0x18, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||
0x9C, 0x04, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00,
|
||||
0x44, 0x18, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x60, 0x04, 0x00, 0x00,
|
||||
|
@ -21,11 +21,11 @@ const uint8_t texture_load_depth_unorm_cs[] = {
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F,
|
||||
0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x43, 0x6F, 0x6E,
|
||||
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x0A, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00,
|
||||
|
@ -62,39 +62,39 @@ const uint8_t texture_load_depth_unorm_cs[] = {
|
|||
0x3C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x73, 0x65, 0x00, 0x64, 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB,
|
||||
0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x01, 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, 0xBB, 0x02, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F,
|
||||
0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73,
|
||||
0x00, 0x75, 0x69, 0x6E, 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00,
|
||||
0x01, 0x00, 0x03, 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, 0x55, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x73, 0x5F, 0x33, 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 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, 0x96, 0x03, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x63, 0x6B, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x61, 0x6E, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67,
|
||||
0x75, 0x65, 0x73, 0x74, 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4D, 0x69, 0x63,
|
||||
0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48,
|
||||
0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43,
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer XeTextureCopyConstants
|
||||
// cbuffer XeTextureLoadConstants
|
||||
// {
|
||||
//
|
||||
// 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 [unused]
|
||||
// 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
|
||||
// uint xe_texture_copy_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
// uint xe_texture_load_guest_base; // Offset: 0 Size: 4
|
||||
// uint xe_texture_load_guest_pitch; // Offset: 4 Size: 4
|
||||
// uint xe_texture_load_host_base; // Offset: 8 Size: 4
|
||||
// uint xe_texture_load_host_pitch; // Offset: 12 Size: 4
|
||||
// uint3 xe_texture_load_size_texels; // Offset: 16 Size: 12 [unused]
|
||||
// bool xe_texture_load_is_3d; // Offset: 28 Size: 4
|
||||
// uint3 xe_texture_load_size_blocks; // Offset: 32 Size: 12
|
||||
// uint xe_texture_load_endianness; // Offset: 44 Size: 4
|
||||
// uint3 xe_texture_load_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_load_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
//
|
||||
// }
|
||||
//
|
||||
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
// 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
|
||||
// xe_texture_load_source texture byte r/o T0 t0 1
|
||||
// xe_texture_load_dest UAV byte r/w U0 u0 1
|
||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
// generated from `xb buildhlsl`
|
||||
// source: texture_load_dxn_rg8.cs.hlsl
|
||||
const uint8_t texture_load_dxn_rg8_cs[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0xD3, 0x1E, 0x45, 0xAE, 0x0D, 0x68, 0xB8, 0x2E,
|
||||
0x0F, 0x79, 0x66, 0x73, 0x8C, 0x8C, 0x17, 0x10, 0x01, 0x00, 0x00, 0x00,
|
||||
0x44, 0x58, 0x42, 0x43, 0xC2, 0x83, 0x22, 0xBA, 0xAB, 0xC3, 0xF2, 0x5C,
|
||||
0xC5, 0x0E, 0x8B, 0xB6, 0xA0, 0x0E, 0x44, 0x97, 0x01, 0x00, 0x00, 0x00,
|
||||
0xCC, 0x45, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||
0x9C, 0x04, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00,
|
||||
0x30, 0x45, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x60, 0x04, 0x00, 0x00,
|
||||
|
@ -21,11 +21,11 @@ const uint8_t texture_load_dxn_rg8_cs[] = {
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F,
|
||||
0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x43, 0x6F, 0x6E,
|
||||
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x0A, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00,
|
||||
|
@ -62,39 +62,39 @@ const uint8_t texture_load_dxn_rg8_cs[] = {
|
|||
0x3C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x73, 0x65, 0x00, 0x64, 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB,
|
||||
0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x01, 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, 0xBB, 0x02, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F,
|
||||
0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73,
|
||||
0x00, 0x75, 0x69, 0x6E, 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00,
|
||||
0x01, 0x00, 0x03, 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, 0x55, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x73, 0x5F, 0x33, 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 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, 0x96, 0x03, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x63, 0x6B, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x61, 0x6E, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67,
|
||||
0x75, 0x65, 0x73, 0x74, 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4D, 0x69, 0x63,
|
||||
0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48,
|
||||
0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43,
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer XeTextureCopyConstants
|
||||
// cbuffer XeTextureLoadConstants
|
||||
// {
|
||||
//
|
||||
// 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
|
||||
// uint xe_texture_copy_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
// uint xe_texture_load_guest_base; // Offset: 0 Size: 4
|
||||
// uint xe_texture_load_guest_pitch; // Offset: 4 Size: 4
|
||||
// uint xe_texture_load_host_base; // Offset: 8 Size: 4
|
||||
// uint xe_texture_load_host_pitch; // Offset: 12 Size: 4
|
||||
// uint3 xe_texture_load_size_texels; // Offset: 16 Size: 12
|
||||
// bool xe_texture_load_is_3d; // Offset: 28 Size: 4
|
||||
// uint3 xe_texture_load_size_blocks; // Offset: 32 Size: 12
|
||||
// uint xe_texture_load_endianness; // Offset: 44 Size: 4
|
||||
// uint3 xe_texture_load_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_load_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
//
|
||||
// }
|
||||
//
|
||||
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
// 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
|
||||
// xe_texture_load_source texture byte r/o T0 t0 1
|
||||
// xe_texture_load_dest UAV byte r/w U0 u0 1
|
||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
// generated from `xb buildhlsl`
|
||||
// source: texture_load_dxt1_rgba8.cs.hlsl
|
||||
const uint8_t texture_load_dxt1_rgba8_cs[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x86, 0x9A, 0x6E, 0x53, 0x50, 0xC2, 0xAB, 0x8E,
|
||||
0x5D, 0x3E, 0x82, 0x32, 0x85, 0x11, 0x77, 0x34, 0x01, 0x00, 0x00, 0x00,
|
||||
0x44, 0x58, 0x42, 0x43, 0x36, 0x75, 0xE9, 0xE6, 0x91, 0x19, 0xD0, 0x4E,
|
||||
0x6C, 0x4B, 0xAD, 0xFF, 0x6D, 0x63, 0xFA, 0x8E, 0x01, 0x00, 0x00, 0x00,
|
||||
0x58, 0x3D, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||
0x9C, 0x04, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00,
|
||||
0xBC, 0x3C, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x60, 0x04, 0x00, 0x00,
|
||||
|
@ -21,11 +21,11 @@ const uint8_t texture_load_dxt1_rgba8_cs[] = {
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F,
|
||||
0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x43, 0x6F, 0x6E,
|
||||
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x0A, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00,
|
||||
|
@ -62,39 +62,39 @@ const uint8_t texture_load_dxt1_rgba8_cs[] = {
|
|||
0x3C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x73, 0x65, 0x00, 0x64, 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB,
|
||||
0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x01, 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, 0xBB, 0x02, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F,
|
||||
0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73,
|
||||
0x00, 0x75, 0x69, 0x6E, 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00,
|
||||
0x01, 0x00, 0x03, 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, 0x55, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x73, 0x5F, 0x33, 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 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, 0x96, 0x03, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x63, 0x6B, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x61, 0x6E, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67,
|
||||
0x75, 0x65, 0x73, 0x74, 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4D, 0x69, 0x63,
|
||||
0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48,
|
||||
0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43,
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer XeTextureCopyConstants
|
||||
// cbuffer XeTextureLoadConstants
|
||||
// {
|
||||
//
|
||||
// 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
|
||||
// uint xe_texture_copy_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
// uint xe_texture_load_guest_base; // Offset: 0 Size: 4
|
||||
// uint xe_texture_load_guest_pitch; // Offset: 4 Size: 4
|
||||
// uint xe_texture_load_host_base; // Offset: 8 Size: 4
|
||||
// uint xe_texture_load_host_pitch; // Offset: 12 Size: 4
|
||||
// uint3 xe_texture_load_size_texels; // Offset: 16 Size: 12
|
||||
// bool xe_texture_load_is_3d; // Offset: 28 Size: 4
|
||||
// uint3 xe_texture_load_size_blocks; // Offset: 32 Size: 12
|
||||
// uint xe_texture_load_endianness; // Offset: 44 Size: 4
|
||||
// uint3 xe_texture_load_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_load_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
//
|
||||
// }
|
||||
//
|
||||
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
// 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
|
||||
// xe_texture_load_source texture byte r/o T0 t0 1
|
||||
// xe_texture_load_dest UAV byte r/w U0 u0 1
|
||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
// generated from `xb buildhlsl`
|
||||
// source: texture_load_dxt3_rgba8.cs.hlsl
|
||||
const uint8_t texture_load_dxt3_rgba8_cs[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x6B, 0xAA, 0x02, 0x6D, 0x5A, 0x1C, 0x08, 0x0F,
|
||||
0x6C, 0x17, 0xAB, 0x4B, 0x8E, 0x96, 0x96, 0xB1, 0x01, 0x00, 0x00, 0x00,
|
||||
0x44, 0x58, 0x42, 0x43, 0xFA, 0xB3, 0xDA, 0xF9, 0x4F, 0xE7, 0x53, 0xBD,
|
||||
0xEF, 0x22, 0xC3, 0xE4, 0x64, 0xA6, 0xC0, 0x18, 0x01, 0x00, 0x00, 0x00,
|
||||
0xFC, 0x33, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||
0x9C, 0x04, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00,
|
||||
0x60, 0x33, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x60, 0x04, 0x00, 0x00,
|
||||
|
@ -21,11 +21,11 @@ const uint8_t texture_load_dxt3_rgba8_cs[] = {
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F,
|
||||
0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x43, 0x6F, 0x6E,
|
||||
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x0A, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00,
|
||||
|
@ -62,39 +62,39 @@ const uint8_t texture_load_dxt3_rgba8_cs[] = {
|
|||
0x3C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x73, 0x65, 0x00, 0x64, 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB,
|
||||
0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x01, 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, 0xBB, 0x02, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F,
|
||||
0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73,
|
||||
0x00, 0x75, 0x69, 0x6E, 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00,
|
||||
0x01, 0x00, 0x03, 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, 0x55, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x73, 0x5F, 0x33, 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 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, 0x96, 0x03, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x63, 0x6B, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x61, 0x6E, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67,
|
||||
0x75, 0x65, 0x73, 0x74, 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4D, 0x69, 0x63,
|
||||
0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48,
|
||||
0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43,
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer XeTextureCopyConstants
|
||||
// cbuffer XeTextureLoadConstants
|
||||
// {
|
||||
//
|
||||
// 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
|
||||
// uint xe_texture_copy_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
// uint xe_texture_load_guest_base; // Offset: 0 Size: 4
|
||||
// uint xe_texture_load_guest_pitch; // Offset: 4 Size: 4
|
||||
// uint xe_texture_load_host_base; // Offset: 8 Size: 4
|
||||
// uint xe_texture_load_host_pitch; // Offset: 12 Size: 4
|
||||
// uint3 xe_texture_load_size_texels; // Offset: 16 Size: 12
|
||||
// bool xe_texture_load_is_3d; // Offset: 28 Size: 4
|
||||
// uint3 xe_texture_load_size_blocks; // Offset: 32 Size: 12
|
||||
// uint xe_texture_load_endianness; // Offset: 44 Size: 4
|
||||
// uint3 xe_texture_load_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_load_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
//
|
||||
// }
|
||||
//
|
||||
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
// 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
|
||||
// xe_texture_load_source texture byte r/o T0 t0 1
|
||||
// xe_texture_load_dest UAV byte r/w U0 u0 1
|
||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
// generated from `xb buildhlsl`
|
||||
// source: texture_load_dxt3a.cs.hlsl
|
||||
const uint8_t texture_load_dxt3a_cs[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0xB1, 0x37, 0x0C, 0x04, 0xF0, 0xE5, 0x3D, 0x43,
|
||||
0x7A, 0x02, 0x5E, 0x72, 0x7B, 0x90, 0xA2, 0xE6, 0x01, 0x00, 0x00, 0x00,
|
||||
0x44, 0x58, 0x42, 0x43, 0x69, 0xAD, 0x36, 0x22, 0xDA, 0x10, 0x83, 0xA1,
|
||||
0xD3, 0x5F, 0x42, 0xE7, 0xDF, 0xF2, 0x32, 0x86, 0x01, 0x00, 0x00, 0x00,
|
||||
0xC8, 0x1D, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||
0x9C, 0x04, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00,
|
||||
0x2C, 0x1D, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x60, 0x04, 0x00, 0x00,
|
||||
|
@ -21,11 +21,11 @@ const uint8_t texture_load_dxt3a_cs[] = {
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F,
|
||||
0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x43, 0x6F, 0x6E,
|
||||
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x0A, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00,
|
||||
|
@ -62,39 +62,39 @@ const uint8_t texture_load_dxt3a_cs[] = {
|
|||
0x3C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x73, 0x65, 0x00, 0x64, 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB,
|
||||
0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x01, 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, 0xBB, 0x02, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F,
|
||||
0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73,
|
||||
0x00, 0x75, 0x69, 0x6E, 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00,
|
||||
0x01, 0x00, 0x03, 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, 0x55, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x73, 0x5F, 0x33, 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 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, 0x96, 0x03, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x63, 0x6B, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x61, 0x6E, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67,
|
||||
0x75, 0x65, 0x73, 0x74, 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4D, 0x69, 0x63,
|
||||
0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48,
|
||||
0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43,
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer XeTextureCopyConstants
|
||||
// cbuffer XeTextureLoadConstants
|
||||
// {
|
||||
//
|
||||
// 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
|
||||
// uint xe_texture_copy_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
// uint xe_texture_load_guest_base; // Offset: 0 Size: 4
|
||||
// uint xe_texture_load_guest_pitch; // Offset: 4 Size: 4
|
||||
// uint xe_texture_load_host_base; // Offset: 8 Size: 4
|
||||
// uint xe_texture_load_host_pitch; // Offset: 12 Size: 4
|
||||
// uint3 xe_texture_load_size_texels; // Offset: 16 Size: 12
|
||||
// bool xe_texture_load_is_3d; // Offset: 28 Size: 4
|
||||
// uint3 xe_texture_load_size_blocks; // Offset: 32 Size: 12
|
||||
// uint xe_texture_load_endianness; // Offset: 44 Size: 4
|
||||
// uint3 xe_texture_load_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_load_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
//
|
||||
// }
|
||||
//
|
||||
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
// 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
|
||||
// xe_texture_load_source texture byte r/o T0 t0 1
|
||||
// xe_texture_load_dest UAV byte r/w U0 u0 1
|
||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
// generated from `xb buildhlsl`
|
||||
// source: texture_load_dxt5_rgba8.cs.hlsl
|
||||
const uint8_t texture_load_dxt5_rgba8_cs[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x90, 0xFF, 0x47, 0xFC, 0x92, 0x7D, 0xB5, 0xF0,
|
||||
0xA7, 0xF2, 0x36, 0x81, 0x44, 0xAC, 0xD7, 0xBD, 0x01, 0x00, 0x00, 0x00,
|
||||
0x44, 0x58, 0x42, 0x43, 0xA3, 0xAF, 0xB8, 0x84, 0xC8, 0x4D, 0xC5, 0x90,
|
||||
0xE0, 0x06, 0x0A, 0x27, 0xC9, 0x24, 0x2D, 0x7F, 0x01, 0x00, 0x00, 0x00,
|
||||
0xF4, 0x42, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||
0x9C, 0x04, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00,
|
||||
0x58, 0x42, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x60, 0x04, 0x00, 0x00,
|
||||
|
@ -21,11 +21,11 @@ const uint8_t texture_load_dxt5_rgba8_cs[] = {
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F,
|
||||
0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x43, 0x6F, 0x6E,
|
||||
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x0A, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00,
|
||||
|
@ -62,39 +62,39 @@ const uint8_t texture_load_dxt5_rgba8_cs[] = {
|
|||
0x3C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x73, 0x65, 0x00, 0x64, 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB,
|
||||
0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x01, 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, 0xBB, 0x02, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F,
|
||||
0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73,
|
||||
0x00, 0x75, 0x69, 0x6E, 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00,
|
||||
0x01, 0x00, 0x03, 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, 0x55, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x73, 0x5F, 0x33, 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 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, 0x96, 0x03, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x63, 0x6B, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x61, 0x6E, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67,
|
||||
0x75, 0x65, 0x73, 0x74, 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4D, 0x69, 0x63,
|
||||
0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48,
|
||||
0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43,
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer XeTextureCopyConstants
|
||||
// cbuffer XeTextureLoadConstants
|
||||
// {
|
||||
//
|
||||
// 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
|
||||
// uint xe_texture_copy_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
// uint xe_texture_load_guest_base; // Offset: 0 Size: 4
|
||||
// uint xe_texture_load_guest_pitch; // Offset: 4 Size: 4
|
||||
// uint xe_texture_load_host_base; // Offset: 8 Size: 4
|
||||
// uint xe_texture_load_host_pitch; // Offset: 12 Size: 4
|
||||
// uint3 xe_texture_load_size_texels; // Offset: 16 Size: 12
|
||||
// bool xe_texture_load_is_3d; // Offset: 28 Size: 4
|
||||
// uint3 xe_texture_load_size_blocks; // Offset: 32 Size: 12
|
||||
// uint xe_texture_load_endianness; // Offset: 44 Size: 4
|
||||
// uint3 xe_texture_load_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_load_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
//
|
||||
// }
|
||||
//
|
||||
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
// 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
|
||||
// xe_texture_load_source texture byte r/o T0 t0 1
|
||||
// xe_texture_load_dest UAV byte r/w U0 u0 1
|
||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
// generated from `xb buildhlsl`
|
||||
// source: texture_load_dxt5a_r8.cs.hlsl
|
||||
const uint8_t texture_load_dxt5a_r8_cs[] = {
|
||||
0x44, 0x58, 0x42, 0x43, 0x0B, 0x90, 0x26, 0x57, 0x25, 0x8A, 0x94, 0xAA,
|
||||
0x42, 0xAE, 0x76, 0x70, 0x07, 0x8C, 0xC5, 0x67, 0x01, 0x00, 0x00, 0x00,
|
||||
0x44, 0x58, 0x42, 0x43, 0x5F, 0xE3, 0x1E, 0xF5, 0xBD, 0x5C, 0x74, 0xE4,
|
||||
0x19, 0x71, 0x96, 0xA5, 0xC2, 0xC1, 0x9C, 0x40, 0x01, 0x00, 0x00, 0x00,
|
||||
0x80, 0x2D, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
|
||||
0x9C, 0x04, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00,
|
||||
0xE4, 0x2C, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x60, 0x04, 0x00, 0x00,
|
||||
|
@ -21,11 +21,11 @@ const uint8_t texture_load_dxt5a_r8_cs[] = {
|
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F,
|
||||
0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78,
|
||||
0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x4C, 0x6F, 0x61, 0x64, 0x43, 0x6F, 0x6E,
|
||||
0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x0A, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00,
|
||||
|
@ -62,39 +62,39 @@ const uint8_t texture_load_dxt5a_r8_cs[] = {
|
|||
0x3C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61,
|
||||
0x73, 0x65, 0x00, 0x64, 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB,
|
||||
0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x01, 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, 0xBB, 0x02, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69,
|
||||
0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F, 0x73, 0x74,
|
||||
0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F,
|
||||
0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x68, 0x6F,
|
||||
0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79,
|
||||
0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73,
|
||||
0x00, 0x75, 0x69, 0x6E, 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00,
|
||||
0x01, 0x00, 0x03, 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, 0x55, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F,
|
||||
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F,
|
||||
0x69, 0x73, 0x5F, 0x33, 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 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, 0x96, 0x03, 0x00, 0x00,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63,
|
||||
0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C,
|
||||
0x6F, 0x61, 0x64, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F,
|
||||
0x63, 0x6B, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x65, 0x6E, 0x64, 0x69,
|
||||
0x61, 0x6E, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67,
|
||||
0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67,
|
||||
0x75, 0x65, 0x73, 0x74, 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75,
|
||||
0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x72, 0x65, 0x5F, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x67, 0x75, 0x65, 0x73,
|
||||
0x74, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4D, 0x69, 0x63,
|
||||
0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48,
|
||||
0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43,
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
//
|
||||
// Buffer Definitions:
|
||||
//
|
||||
// cbuffer XeTextureCopyConstants
|
||||
// cbuffer XeTextureLoadConstants
|
||||
// {
|
||||
//
|
||||
// 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
|
||||
// uint xe_texture_copy_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
// uint xe_texture_load_guest_base; // Offset: 0 Size: 4
|
||||
// uint xe_texture_load_guest_pitch; // Offset: 4 Size: 4
|
||||
// uint xe_texture_load_host_base; // Offset: 8 Size: 4
|
||||
// uint xe_texture_load_host_pitch; // Offset: 12 Size: 4
|
||||
// uint3 xe_texture_load_size_texels; // Offset: 16 Size: 12
|
||||
// bool xe_texture_load_is_3d; // Offset: 28 Size: 4
|
||||
// uint3 xe_texture_load_size_blocks; // Offset: 32 Size: 12
|
||||
// uint xe_texture_load_endianness; // Offset: 44 Size: 4
|
||||
// uint3 xe_texture_load_guest_mip_offset;// Offset: 48 Size: 12
|
||||
// uint xe_texture_load_guest_format; // Offset: 60 Size: 4 [unused]
|
||||
//
|
||||
// }
|
||||
//
|
||||
|
@ -25,9 +25,9 @@
|
|||
//
|
||||
// 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
|
||||
// xe_texture_load_source texture byte r/o T0 t0 1
|
||||
// xe_texture_load_dest UAV byte r/w U0 u0 1
|
||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
#ifndef XENIA_GPU_D3D12_SHADERS_TEXTURE_COPY_HLSLI_
|
||||
#define XENIA_GPU_D3D12_SHADERS_TEXTURE_COPY_HLSLI_
|
||||
|
||||
#include "byte_swap.hlsli"
|
||||
#include "texture_address.hlsli"
|
||||
|
||||
cbuffer XeTextureCopyConstants : register(b0) {
|
||||
uint xe_texture_copy_guest_base;
|
||||
// For linear textures - row byte pitch.
|
||||
uint xe_texture_copy_guest_pitch;
|
||||
uint xe_texture_copy_host_base;
|
||||
uint xe_texture_copy_host_pitch;
|
||||
|
||||
uint3 xe_texture_copy_size_texels;
|
||||
bool xe_texture_copy_is_3d;
|
||||
|
||||
uint3 xe_texture_copy_size_blocks;
|
||||
uint xe_texture_copy_endianness;
|
||||
|
||||
// Offset within the packed mip for small mips.
|
||||
uint3 xe_texture_copy_guest_mip_offset;
|
||||
uint xe_texture_copy_guest_format;
|
||||
};
|
||||
|
||||
#define XeTextureCopyGuestPitchTiled 0xFFFFFFFFu
|
||||
|
||||
ByteAddressBuffer xe_texture_copy_source : register(t0);
|
||||
RWByteAddressBuffer xe_texture_copy_dest : register(u0);
|
||||
|
||||
// bpb and bpb_log2 are separate because bpb may be not a power of 2 (like 96).
|
||||
uint4 XeTextureCopyGuestBlockOffsets(uint3 block_index, uint bpb,
|
||||
uint bpb_log2) {
|
||||
uint3 block_index_guest = block_index + xe_texture_copy_guest_mip_offset;
|
||||
uint4 block_offsets_guest;
|
||||
[branch] if (xe_texture_copy_guest_pitch == XeTextureCopyGuestPitchTiled) {
|
||||
[branch] if (xe_texture_copy_is_3d) {
|
||||
block_offsets_guest = XeTextureTiledOffset3D(
|
||||
block_index_guest, xe_texture_copy_size_blocks.xy, bpb_log2);
|
||||
} else {
|
||||
block_offsets_guest = XeTextureTiledOffset2D(
|
||||
block_index_guest.xy, xe_texture_copy_size_blocks.x, bpb_log2);
|
||||
}
|
||||
} else {
|
||||
block_offsets_guest =
|
||||
uint4(0u, 1u, 2u, 3u) * bpb + XeTextureGuestLinearOffset(
|
||||
block_index_guest, xe_texture_copy_size_blocks.y,
|
||||
xe_texture_copy_guest_pitch, bpb);
|
||||
}
|
||||
return block_offsets_guest + xe_texture_copy_guest_base;
|
||||
}
|
||||
|
||||
#endif // XENIA_GPU_D3D12_SHADERS_TEXTURE_COPY_HLSLI_
|
|
@ -0,0 +1,52 @@
|
|||
#ifndef XENIA_GPU_D3D12_SHADERS_TEXTURE_COPY_HLSLI_
|
||||
#define XENIA_GPU_D3D12_SHADERS_TEXTURE_COPY_HLSLI_
|
||||
|
||||
#include "byte_swap.hlsli"
|
||||
#include "texture_address.hlsli"
|
||||
|
||||
cbuffer XeTextureLoadConstants : register(b0) {
|
||||
uint xe_texture_load_guest_base;
|
||||
// For linear textures - row byte pitch.
|
||||
uint xe_texture_load_guest_pitch;
|
||||
uint xe_texture_load_host_base;
|
||||
uint xe_texture_load_host_pitch;
|
||||
|
||||
uint3 xe_texture_load_size_texels;
|
||||
bool xe_texture_load_is_3d;
|
||||
|
||||
uint3 xe_texture_load_size_blocks;
|
||||
uint xe_texture_load_endianness;
|
||||
|
||||
// Offset within the packed mip for small mips.
|
||||
uint3 xe_texture_load_guest_mip_offset;
|
||||
uint xe_texture_load_guest_format;
|
||||
};
|
||||
|
||||
#define XeTextureLoadGuestPitchTiled 0xFFFFFFFFu
|
||||
|
||||
ByteAddressBuffer xe_texture_load_source : register(t0);
|
||||
RWByteAddressBuffer xe_texture_load_dest : register(u0);
|
||||
|
||||
// bpb and bpb_log2 are separate because bpb may be not a power of 2 (like 96).
|
||||
uint4 XeTextureLoadGuestBlockOffsets(uint3 block_index, uint bpb,
|
||||
uint bpb_log2) {
|
||||
uint3 block_index_guest = block_index + xe_texture_load_guest_mip_offset;
|
||||
uint4 block_offsets_guest;
|
||||
[branch] if (xe_texture_load_guest_pitch == XeTextureLoadGuestPitchTiled) {
|
||||
[branch] if (xe_texture_load_is_3d) {
|
||||
block_offsets_guest = XeTextureTiledOffset3D(
|
||||
block_index_guest, xe_texture_load_size_blocks.xy, bpb_log2);
|
||||
} else {
|
||||
block_offsets_guest = XeTextureTiledOffset2D(
|
||||
block_index_guest.xy, xe_texture_load_size_blocks.x, bpb_log2);
|
||||
}
|
||||
} else {
|
||||
block_offsets_guest =
|
||||
uint4(0u, 1u, 2u, 3u) * bpb + XeTextureGuestLinearOffset(
|
||||
block_index_guest, xe_texture_load_size_blocks.y,
|
||||
xe_texture_load_guest_pitch, bpb);
|
||||
}
|
||||
return block_offsets_guest + xe_texture_load_guest_base;
|
||||
}
|
||||
|
||||
#endif // XENIA_GPU_D3D12_SHADERS_TEXTURE_COPY_HLSLI_
|
|
@ -1,29 +1,29 @@
|
|||
#include "texture_copy.hlsli"
|
||||
#include "texture_load.hlsli"
|
||||
|
||||
[numthreads(8, 32, 1)]
|
||||
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
||||
// 1 thread = 4 uint4 blocks.
|
||||
uint3 block_index = xe_thread_id;
|
||||
block_index.x <<= 2u;
|
||||
[branch] if (any(block_index >= xe_texture_copy_size_blocks)) {
|
||||
[branch] if (any(block_index >= xe_texture_load_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);
|
||||
XeTextureLoadGuestBlockOffsets(block_index, 16u, 4u);
|
||||
uint4 block_0 = xe_texture_load_source.Load4(block_offsets_guest.x);
|
||||
uint4 block_1 = xe_texture_load_source.Load4(block_offsets_guest.y);
|
||||
uint4 block_2 = xe_texture_load_source.Load4(block_offsets_guest.z);
|
||||
uint4 block_3 = xe_texture_load_source.Load4(block_offsets_guest.w);
|
||||
block_0 = XeByteSwap(block_0, xe_texture_load_endianness);
|
||||
block_1 = XeByteSwap(block_1, xe_texture_load_endianness);
|
||||
block_2 = XeByteSwap(block_2, xe_texture_load_endianness);
|
||||
block_3 = XeByteSwap(block_3, xe_texture_load_endianness);
|
||||
uint block_offset_host = XeTextureHostLinearOffset(
|
||||
block_index, xe_texture_copy_size_blocks.y, xe_texture_copy_host_pitch,
|
||||
16u) + xe_texture_copy_host_base;
|
||||
block_index, xe_texture_load_size_blocks.y, xe_texture_load_host_pitch,
|
||||
16u) + xe_texture_load_host_base;
|
||||
uint4 block_offsets_host = uint4(0u, 16u, 32u, 48u) + block_offset_host;
|
||||
xe_texture_copy_dest.Store4(block_offsets_host.x, block_0);
|
||||
xe_texture_copy_dest.Store4(block_offsets_host.y, block_1);
|
||||
xe_texture_copy_dest.Store4(block_offsets_host.z, block_2);
|
||||
xe_texture_copy_dest.Store4(block_offsets_host.w, block_3);
|
||||
xe_texture_load_dest.Store4(block_offsets_host.x, block_0);
|
||||
xe_texture_load_dest.Store4(block_offsets_host.y, block_1);
|
||||
xe_texture_load_dest.Store4(block_offsets_host.z, block_2);
|
||||
xe_texture_load_dest.Store4(block_offsets_host.w, block_3);
|
||||
}
|
||||
|
|
|
@ -1,34 +1,34 @@
|
|||
#include "texture_copy.hlsli"
|
||||
#include "texture_load.hlsli"
|
||||
|
||||
[numthreads(8, 32, 1)]
|
||||
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
||||
// 1 thread = 4 ushort blocks.
|
||||
uint3 block_index = xe_thread_id;
|
||||
block_index.x <<= 2u;
|
||||
[branch] if (any(block_index >= xe_texture_copy_size_blocks)) {
|
||||
[branch] if (any(block_index >= xe_texture_load_size_blocks)) {
|
||||
return;
|
||||
}
|
||||
uint4 block_offsets_guest =
|
||||
XeTextureCopyGuestBlockOffsets(block_index, 2u, 1u);
|
||||
XeTextureLoadGuestBlockOffsets(block_index, 2u, 1u);
|
||||
uint4 dword_offsets_guest = block_offsets_guest & ~3u;
|
||||
uint4 blocks = uint4(xe_texture_copy_source.Load(dword_offsets_guest.x),
|
||||
xe_texture_copy_source.Load(dword_offsets_guest.y),
|
||||
xe_texture_copy_source.Load(dword_offsets_guest.z),
|
||||
xe_texture_copy_source.Load(dword_offsets_guest.w));
|
||||
uint4 blocks = uint4(xe_texture_load_source.Load(dword_offsets_guest.x),
|
||||
xe_texture_load_source.Load(dword_offsets_guest.y),
|
||||
xe_texture_load_source.Load(dword_offsets_guest.z),
|
||||
xe_texture_load_source.Load(dword_offsets_guest.w));
|
||||
blocks = (blocks >> ((block_offsets_guest & 2u) << 3u)) & 0xFFFFu;
|
||||
blocks = XeByteSwap16(blocks, xe_texture_copy_endianness);
|
||||
blocks = XeByteSwap16(blocks, xe_texture_load_endianness);
|
||||
|
||||
// Swap components - Xenos 16-bit packed textures are RGBA, but in Direct3D 12
|
||||
// they are BGRA.
|
||||
if (xe_texture_copy_guest_format == 3u) {
|
||||
if (xe_texture_load_guest_format == 3u) {
|
||||
// k_1_5_5_5.
|
||||
blocks = (blocks & ((31u << 5u) | (1u << 15u))) | ((blocks & 31u) << 10u) |
|
||||
((blocks >> 10u) & 31u);
|
||||
} else if (xe_texture_copy_guest_format == 4u) {
|
||||
} else if (xe_texture_load_guest_format == 4u) {
|
||||
// k_5_6_5.
|
||||
blocks = (blocks & (63u << 5u)) | ((blocks & 31u) << 11u) |
|
||||
((blocks >> 11u) & 31u);
|
||||
} else if (xe_texture_copy_guest_format == 15u) {
|
||||
} else if (xe_texture_load_guest_format == 15u) {
|
||||
// k_4_4_4_4.
|
||||
blocks =
|
||||
(blocks & 0xF0F0u) | ((blocks & 15u) << 8u) | ((blocks >> 8u) & 15u);
|
||||
|
@ -36,8 +36,8 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
// TODO(Triang3l): k_6_5_5.
|
||||
|
||||
uint block_offset_host = XeTextureHostLinearOffset(
|
||||
block_index, xe_texture_copy_size_blocks.y, xe_texture_copy_host_pitch,
|
||||
2u) + xe_texture_copy_host_base;
|
||||
xe_texture_copy_dest.Store2(block_offset_host,
|
||||
block_index, xe_texture_load_size_blocks.y, xe_texture_load_host_pitch,
|
||||
2u) + xe_texture_load_host_base;
|
||||
xe_texture_load_dest.Store2(block_offset_host,
|
||||
blocks.xz | (blocks.yw << 16u));
|
||||
}
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
#include "texture_copy.hlsli"
|
||||
#include "texture_load.hlsli"
|
||||
|
||||
[numthreads(8, 32, 1)]
|
||||
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
||||
// 1 thread = 4 uint blocks.
|
||||
uint3 block_index = xe_thread_id;
|
||||
block_index.x <<= 2u;
|
||||
[branch] if (any(block_index >= xe_texture_copy_size_blocks)) {
|
||||
[branch] if (any(block_index >= xe_texture_load_size_blocks)) {
|
||||
return;
|
||||
}
|
||||
uint4 block_offsets_guest =
|
||||
XeTextureCopyGuestBlockOffsets(block_index, 4u, 2u);
|
||||
uint4 blocks = uint4(xe_texture_copy_source.Load(block_offsets_guest.x),
|
||||
xe_texture_copy_source.Load(block_offsets_guest.y),
|
||||
xe_texture_copy_source.Load(block_offsets_guest.z),
|
||||
xe_texture_copy_source.Load(block_offsets_guest.w));
|
||||
blocks = XeByteSwap(blocks, xe_texture_copy_endianness);
|
||||
XeTextureLoadGuestBlockOffsets(block_index, 4u, 2u);
|
||||
uint4 blocks = uint4(xe_texture_load_source.Load(block_offsets_guest.x),
|
||||
xe_texture_load_source.Load(block_offsets_guest.y),
|
||||
xe_texture_load_source.Load(block_offsets_guest.z),
|
||||
xe_texture_load_source.Load(block_offsets_guest.w));
|
||||
blocks = XeByteSwap(blocks, xe_texture_load_endianness);
|
||||
uint block_offset_host = XeTextureHostLinearOffset(
|
||||
block_index, xe_texture_copy_size_blocks.y, xe_texture_copy_host_pitch,
|
||||
4u) + xe_texture_copy_host_base;
|
||||
xe_texture_copy_dest.Store4(block_offset_host, blocks);
|
||||
block_index, xe_texture_load_size_blocks.y, xe_texture_load_host_pitch,
|
||||
4u) + xe_texture_load_host_base;
|
||||
xe_texture_load_dest.Store4(block_offset_host, blocks);
|
||||
}
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
#include "texture_copy.hlsli"
|
||||
#include "texture_load.hlsli"
|
||||
|
||||
[numthreads(8, 32, 1)]
|
||||
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
||||
// 1 thread = 4 uint2 blocks.
|
||||
uint3 block_index = xe_thread_id;
|
||||
block_index.x <<= 2u;
|
||||
[branch] if (any(block_index >= xe_texture_copy_size_blocks)) {
|
||||
[branch] if (any(block_index >= xe_texture_load_size_blocks)) {
|
||||
return;
|
||||
}
|
||||
uint4 block_offsets_guest =
|
||||
XeTextureCopyGuestBlockOffsets(block_index, 8u, 3u);
|
||||
uint4 blocks_01 = uint4(xe_texture_copy_source.Load2(block_offsets_guest.x),
|
||||
xe_texture_copy_source.Load2(block_offsets_guest.y));
|
||||
uint4 blocks_23 = uint4(xe_texture_copy_source.Load2(block_offsets_guest.z),
|
||||
xe_texture_copy_source.Load2(block_offsets_guest.w));
|
||||
blocks_01 = XeByteSwap(blocks_01, xe_texture_copy_endianness);
|
||||
blocks_23 = XeByteSwap(blocks_23, xe_texture_copy_endianness);
|
||||
XeTextureLoadGuestBlockOffsets(block_index, 8u, 3u);
|
||||
uint4 blocks_01 = uint4(xe_texture_load_source.Load2(block_offsets_guest.x),
|
||||
xe_texture_load_source.Load2(block_offsets_guest.y));
|
||||
uint4 blocks_23 = uint4(xe_texture_load_source.Load2(block_offsets_guest.z),
|
||||
xe_texture_load_source.Load2(block_offsets_guest.w));
|
||||
blocks_01 = XeByteSwap(blocks_01, xe_texture_load_endianness);
|
||||
blocks_23 = XeByteSwap(blocks_23, xe_texture_load_endianness);
|
||||
uint block_offset_host = XeTextureHostLinearOffset(
|
||||
block_index, xe_texture_copy_size_blocks.y, xe_texture_copy_host_pitch,
|
||||
8u) + xe_texture_copy_host_base;
|
||||
xe_texture_copy_dest.Store4(block_offset_host, blocks_01);
|
||||
xe_texture_copy_dest.Store4(block_offset_host + 16u, blocks_23);
|
||||
block_index, xe_texture_load_size_blocks.y, xe_texture_load_host_pitch,
|
||||
8u) + xe_texture_load_host_base;
|
||||
xe_texture_load_dest.Store4(block_offset_host, blocks_01);
|
||||
xe_texture_load_dest.Store4(block_offset_host + 16u, blocks_23);
|
||||
}
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
#include "texture_copy.hlsli"
|
||||
#include "texture_load.hlsli"
|
||||
|
||||
[numthreads(8, 32, 1)]
|
||||
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
||||
// 1 thread = 4 ubyte blocks.
|
||||
uint3 block_index = xe_thread_id;
|
||||
block_index.x <<= 2u;
|
||||
[branch] if (any(block_index >= xe_texture_copy_size_blocks)) {
|
||||
[branch] if (any(block_index >= xe_texture_load_size_blocks)) {
|
||||
return;
|
||||
}
|
||||
uint4 block_offsets_guest =
|
||||
XeTextureCopyGuestBlockOffsets(block_index, 1u, 0u);
|
||||
XeTextureLoadGuestBlockOffsets(block_index, 1u, 0u);
|
||||
uint4 dword_offsets_guest = block_offsets_guest & ~3u;
|
||||
uint4 blocks = uint4(xe_texture_copy_source.Load(dword_offsets_guest.x),
|
||||
xe_texture_copy_source.Load(dword_offsets_guest.y),
|
||||
xe_texture_copy_source.Load(dword_offsets_guest.z),
|
||||
xe_texture_copy_source.Load(dword_offsets_guest.w));
|
||||
uint4 blocks = uint4(xe_texture_load_source.Load(dword_offsets_guest.x),
|
||||
xe_texture_load_source.Load(dword_offsets_guest.y),
|
||||
xe_texture_load_source.Load(dword_offsets_guest.z),
|
||||
xe_texture_load_source.Load(dword_offsets_guest.w));
|
||||
blocks = (blocks >> ((block_offsets_guest & 3u) << 3u)) & 0xFFu;
|
||||
blocks <<= uint4(0u, 8u, 16u, 24u);
|
||||
blocks.xy |= blocks.zw;
|
||||
blocks.x |= blocks.y;
|
||||
uint block_offset_host = XeTextureHostLinearOffset(
|
||||
block_index, xe_texture_copy_size_blocks.y, xe_texture_copy_host_pitch,
|
||||
1u) + xe_texture_copy_host_base;
|
||||
xe_texture_copy_dest.Store(block_offset_host, blocks.x);
|
||||
block_index, xe_texture_load_size_blocks.y, xe_texture_load_host_pitch,
|
||||
1u) + xe_texture_load_host_base;
|
||||
xe_texture_load_dest.Store(block_offset_host, blocks.x);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#include "pixel_formats.hlsli"
|
||||
#include "texture_copy.hlsli"
|
||||
#include "texture_load.hlsli"
|
||||
|
||||
// http://fileadmin.cs.lth.se/cs/Personal/Michael_Doggett/talks/unc-xenos-doggett.pdf
|
||||
// CXT1 is like DXT3/5 color, but 2-component and with 8:8 endpoints rather than
|
||||
|
@ -47,17 +47,17 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
// 1 thread = 4 CTX1 (8bpb) blocks to 16x4 R8G8 texels.
|
||||
uint3 block_index = xe_thread_id;
|
||||
block_index.x <<= 2u;
|
||||
[branch] if (any(block_index >= xe_texture_copy_size_blocks)) {
|
||||
[branch] if (any(block_index >= xe_texture_load_size_blocks)) {
|
||||
return;
|
||||
}
|
||||
uint4 block_offsets_guest =
|
||||
XeTextureCopyGuestBlockOffsets(block_index, 8u, 3u);
|
||||
uint4 blocks_01 = uint4(xe_texture_copy_source.Load2(block_offsets_guest.x),
|
||||
xe_texture_copy_source.Load2(block_offsets_guest.y));
|
||||
uint4 blocks_23 = uint4(xe_texture_copy_source.Load2(block_offsets_guest.z),
|
||||
xe_texture_copy_source.Load2(block_offsets_guest.w));
|
||||
blocks_01 = XeByteSwap(blocks_01, xe_texture_copy_endianness);
|
||||
blocks_23 = XeByteSwap(blocks_23, xe_texture_copy_endianness);
|
||||
XeTextureLoadGuestBlockOffsets(block_index, 8u, 3u);
|
||||
uint4 blocks_01 = uint4(xe_texture_load_source.Load2(block_offsets_guest.x),
|
||||
xe_texture_load_source.Load2(block_offsets_guest.y));
|
||||
uint4 blocks_23 = uint4(xe_texture_load_source.Load2(block_offsets_guest.z),
|
||||
xe_texture_load_source.Load2(block_offsets_guest.w));
|
||||
blocks_01 = XeByteSwap(blocks_01, xe_texture_load_endianness);
|
||||
blocks_23 = XeByteSwap(blocks_23, xe_texture_load_endianness);
|
||||
|
||||
// Unpack the endpoints as:
|
||||
// 0x00g000r0 0x00g100r1 0x00g200r2 0x00g300r3
|
||||
|
@ -76,17 +76,17 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
// 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, 2u) + xe_texture_copy_host_base;
|
||||
texel_index_host, xe_texture_load_size_texels.y,
|
||||
xe_texture_load_host_pitch, 2u) + xe_texture_load_host_base;
|
||||
for (uint i = 0u; i < 4u; ++i) {
|
||||
uint4 row_01, row_23;
|
||||
XeCTX1FourBlocksRowToR8G8(end_low_rr00gg00, end_high_rr00gg00,
|
||||
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 + 16u, row_23);
|
||||
if (++texel_index_host.y >= xe_texture_copy_size_texels.y) {
|
||||
xe_texture_load_dest.Store4(texel_offset_host, row_01);
|
||||
xe_texture_load_dest.Store4(texel_offset_host + 16u, row_23);
|
||||
if (++texel_index_host.y >= xe_texture_load_size_texels.y) {
|
||||
return;
|
||||
}
|
||||
texel_offset_host += xe_texture_copy_host_pitch;
|
||||
texel_offset_host += xe_texture_load_host_pitch;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#include "pixel_formats.hlsli"
|
||||
#include "texture_copy.hlsli"
|
||||
#include "texture_load.hlsli"
|
||||
|
||||
[numthreads(8, 32, 1)]
|
||||
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
||||
|
@ -8,18 +8,18 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
// DXGI_FORMAT_X32_TYPELESS_G8X24_UINT SRV).
|
||||
uint3 block_index = xe_thread_id;
|
||||
block_index.x <<= 2u;
|
||||
[branch] if (any(block_index >= xe_texture_copy_size_blocks)) {
|
||||
[branch] if (any(block_index >= xe_texture_load_size_blocks)) {
|
||||
return;
|
||||
}
|
||||
uint4 block_offsets_guest =
|
||||
XeTextureCopyGuestBlockOffsets(block_index, 4u, 2u);
|
||||
uint4 blocks = uint4(xe_texture_copy_source.Load(block_offsets_guest.x),
|
||||
xe_texture_copy_source.Load(block_offsets_guest.y),
|
||||
xe_texture_copy_source.Load(block_offsets_guest.z),
|
||||
xe_texture_copy_source.Load(block_offsets_guest.w));
|
||||
blocks = XeByteSwap(blocks, xe_texture_copy_endianness);
|
||||
XeTextureLoadGuestBlockOffsets(block_index, 4u, 2u);
|
||||
uint4 blocks = uint4(xe_texture_load_source.Load(block_offsets_guest.x),
|
||||
xe_texture_load_source.Load(block_offsets_guest.y),
|
||||
xe_texture_load_source.Load(block_offsets_guest.z),
|
||||
xe_texture_load_source.Load(block_offsets_guest.w));
|
||||
blocks = XeByteSwap(blocks, xe_texture_load_endianness);
|
||||
uint block_offset_host = XeTextureHostLinearOffset(
|
||||
block_index, xe_texture_copy_size_blocks.y, xe_texture_copy_host_pitch,
|
||||
4u) + xe_texture_copy_host_base;
|
||||
xe_texture_copy_dest.Store4(block_offset_host, XeFloat20e4To32(blocks >> 8u));
|
||||
block_index, xe_texture_load_size_blocks.y, xe_texture_load_host_pitch,
|
||||
4u) + xe_texture_load_host_base;
|
||||
xe_texture_load_dest.Store4(block_offset_host, XeFloat20e4To32(blocks >> 8u));
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include "texture_copy.hlsli"
|
||||
#include "texture_load.hlsli"
|
||||
|
||||
[numthreads(8, 32, 1)]
|
||||
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
||||
|
@ -7,19 +7,19 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
// DXGI_FORMAT_X24_TYPELESS_G8_UINT SRV).
|
||||
uint3 block_index = xe_thread_id;
|
||||
block_index.x <<= 2u;
|
||||
[branch] if (any(block_index >= xe_texture_copy_size_blocks)) {
|
||||
[branch] if (any(block_index >= xe_texture_load_size_blocks)) {
|
||||
return;
|
||||
}
|
||||
uint4 block_offsets_guest =
|
||||
XeTextureCopyGuestBlockOffsets(block_index, 4u, 2u);
|
||||
uint4 blocks = uint4(xe_texture_copy_source.Load(block_offsets_guest.x),
|
||||
xe_texture_copy_source.Load(block_offsets_guest.y),
|
||||
xe_texture_copy_source.Load(block_offsets_guest.z),
|
||||
xe_texture_copy_source.Load(block_offsets_guest.w));
|
||||
blocks = XeByteSwap(blocks, xe_texture_copy_endianness);
|
||||
XeTextureLoadGuestBlockOffsets(block_index, 4u, 2u);
|
||||
uint4 blocks = uint4(xe_texture_load_source.Load(block_offsets_guest.x),
|
||||
xe_texture_load_source.Load(block_offsets_guest.y),
|
||||
xe_texture_load_source.Load(block_offsets_guest.z),
|
||||
xe_texture_load_source.Load(block_offsets_guest.w));
|
||||
blocks = XeByteSwap(blocks, xe_texture_load_endianness);
|
||||
uint block_offset_host = XeTextureHostLinearOffset(
|
||||
block_index, xe_texture_copy_size_blocks.y, xe_texture_copy_host_pitch,
|
||||
4u) + xe_texture_copy_host_base;
|
||||
xe_texture_copy_dest.Store4(block_offset_host,
|
||||
block_index, xe_texture_load_size_blocks.y, xe_texture_load_host_pitch,
|
||||
4u) + xe_texture_load_host_base;
|
||||
xe_texture_load_dest.Store4(block_offset_host,
|
||||
asuint(float4(blocks >> 8u) / 16777215.0));
|
||||
}
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
#include "pixel_formats.hlsli"
|
||||
#include "texture_copy.hlsli"
|
||||
#include "texture_load.hlsli"
|
||||
|
||||
[numthreads(8, 32, 1)]
|
||||
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
||||
// 1 thread = 4 DXN (16bpb) blocks to 16x4 R8G8 texels.
|
||||
uint3 block_index = xe_thread_id;
|
||||
block_index.x <<= 2u;
|
||||
[branch] if (any(block_index >= xe_texture_copy_size_blocks)) {
|
||||
[branch] if (any(block_index >= xe_texture_load_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);
|
||||
XeTextureLoadGuestBlockOffsets(block_index, 16u, 4u);
|
||||
uint4 block_0 = xe_texture_load_source.Load4(block_offsets_guest.x);
|
||||
uint4 block_1 = xe_texture_load_source.Load4(block_offsets_guest.y);
|
||||
uint4 block_2 = xe_texture_load_source.Load4(block_offsets_guest.z);
|
||||
uint4 block_3 = xe_texture_load_source.Load4(block_offsets_guest.w);
|
||||
block_0 = XeByteSwap(block_0, xe_texture_load_endianness);
|
||||
block_1 = XeByteSwap(block_1, xe_texture_load_endianness);
|
||||
block_2 = XeByteSwap(block_2, xe_texture_load_endianness);
|
||||
block_3 = XeByteSwap(block_3, xe_texture_load_endianness);
|
||||
uint4 r_blocks_0 = uint4(block_0.x, block_1.x, block_2.x, block_3.x);
|
||||
uint4 r_blocks_1 = uint4(block_0.y, block_1.y, block_2.y, block_3.y);
|
||||
uint4 g_blocks_0 = uint4(block_0.z, block_1.z, block_2.z, block_3.z);
|
||||
|
@ -47,8 +47,8 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
// 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, 2u) + xe_texture_copy_host_base;
|
||||
texel_index_host, xe_texture_load_size_texels.y,
|
||||
xe_texture_load_host_pitch, 2u) + xe_texture_load_host_base;
|
||||
for (uint i = 0u; i < 4u; ++i) {
|
||||
uint4 r_row = XeDXT5Four8StepBlocksRowToA8(
|
||||
r_end_low, r_end_high,
|
||||
|
@ -67,16 +67,16 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
(((r_row.xxyy >> uint4(8u, 24u, 8u, 24u)) & 0xFFu) << 16u) |
|
||||
(((g_row.xxyy >> uint4(0u, 16u, 0u, 16u)) & 0xFFu) << 8u) |
|
||||
(((g_row.xxyy >> uint4(8u, 24u, 8u, 24u)) & 0xFFu) << 24u);
|
||||
xe_texture_copy_dest.Store4(texel_offset_host, rg_row_half);
|
||||
xe_texture_load_dest.Store4(texel_offset_host, rg_row_half);
|
||||
rg_row_half =
|
||||
((r_row.zzww >> uint4(0u, 16u, 0u, 16u)) & 0xFFu) |
|
||||
(((r_row.zzww >> uint4(8u, 24u, 8u, 24u)) & 0xFFu) << 16u) |
|
||||
(((g_row.zzww >> uint4(0u, 16u, 0u, 16u)) & 0xFFu) << 8u) |
|
||||
(((g_row.zzww >> uint4(8u, 24u, 8u, 24u)) & 0xFFu) << 24u);
|
||||
xe_texture_copy_dest.Store4(texel_offset_host + 16u, rg_row_half);
|
||||
if (++texel_index_host.y >= xe_texture_copy_size_texels.y) {
|
||||
xe_texture_load_dest.Store4(texel_offset_host + 16u, rg_row_half);
|
||||
if (++texel_index_host.y >= xe_texture_load_size_texels.y) {
|
||||
return;
|
||||
}
|
||||
texel_offset_host += xe_texture_copy_host_pitch;
|
||||
texel_offset_host += xe_texture_load_host_pitch;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#include "pixel_formats.hlsli"
|
||||
#include "texture_copy.hlsli"
|
||||
#include "texture_load.hlsli"
|
||||
|
||||
void XeDXT1FourTransBlocksRowToRGBA8(
|
||||
uint4 rgb_10b_low, uint4 rgb_10b_high, uint4 weights, out uint4 row_0,
|
||||
|
@ -51,17 +51,17 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
// 1 thread = 4 DXT1 (8bpb) 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)) {
|
||||
[branch] if (any(block_index >= xe_texture_load_size_blocks)) {
|
||||
return;
|
||||
}
|
||||
uint4 block_offsets_guest =
|
||||
XeTextureCopyGuestBlockOffsets(block_index, 8u, 3u);
|
||||
uint4 blocks_01 = uint4(xe_texture_copy_source.Load2(block_offsets_guest.x),
|
||||
xe_texture_copy_source.Load2(block_offsets_guest.y));
|
||||
uint4 blocks_23 = uint4(xe_texture_copy_source.Load2(block_offsets_guest.z),
|
||||
xe_texture_copy_source.Load2(block_offsets_guest.w));
|
||||
blocks_01 = XeByteSwap(blocks_01, xe_texture_copy_endianness);
|
||||
blocks_23 = XeByteSwap(blocks_23, xe_texture_copy_endianness);
|
||||
XeTextureLoadGuestBlockOffsets(block_index, 8u, 3u);
|
||||
uint4 blocks_01 = uint4(xe_texture_load_source.Load2(block_offsets_guest.x),
|
||||
xe_texture_load_source.Load2(block_offsets_guest.y));
|
||||
uint4 blocks_23 = uint4(xe_texture_load_source.Load2(block_offsets_guest.z),
|
||||
xe_texture_load_source.Load2(block_offsets_guest.w));
|
||||
blocks_01 = XeByteSwap(blocks_01, xe_texture_load_endianness);
|
||||
blocks_23 = XeByteSwap(blocks_23, xe_texture_load_endianness);
|
||||
|
||||
uint4 codes = uint4(blocks_01.yw, blocks_23.yw);
|
||||
// Sort the color indices so they can be used as weights for the second
|
||||
|
@ -87,8 +87,8 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
// 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;
|
||||
texel_index_host, xe_texture_load_size_texels.y,
|
||||
xe_texture_load_host_pitch, 4u) + xe_texture_load_host_base;
|
||||
for (uint i = 0u; i < 4u; ++i) {
|
||||
uint4 row_opaque_0, row_opaque_1, row_opaque_2, row_opaque_3;
|
||||
XeDXTFourBlocksRowToRGB8(rgb_10b_low, rgb_10b_high,
|
||||
|
@ -102,17 +102,17 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
XeDXT1FourTransBlocksRowToRGBA8(rgb_10b_low, rgb_10b_high,
|
||||
weights_trans >> (i * 8u), row_trans_0,
|
||||
row_trans_1, row_trans_2, row_trans_3);
|
||||
xe_texture_copy_dest.Store4(texel_offset_host,
|
||||
xe_texture_load_dest.Store4(texel_offset_host,
|
||||
is_trans.x ? row_trans_0 : row_opaque_0);
|
||||
xe_texture_copy_dest.Store4(texel_offset_host + 16u,
|
||||
xe_texture_load_dest.Store4(texel_offset_host + 16u,
|
||||
is_trans.y ? row_trans_1 : row_opaque_1);
|
||||
xe_texture_copy_dest.Store4(texel_offset_host + 32u,
|
||||
xe_texture_load_dest.Store4(texel_offset_host + 32u,
|
||||
is_trans.z ? row_trans_2 : row_opaque_2);
|
||||
xe_texture_copy_dest.Store4(texel_offset_host + 48u,
|
||||
xe_texture_load_dest.Store4(texel_offset_host + 48u,
|
||||
is_trans.w ? row_trans_3 : row_opaque_3);
|
||||
if (++texel_index_host.y >= xe_texture_copy_size_texels.y) {
|
||||
if (++texel_index_host.y >= xe_texture_load_size_texels.y) {
|
||||
return;
|
||||
}
|
||||
texel_offset_host += xe_texture_copy_host_pitch;
|
||||
texel_offset_host += xe_texture_load_host_pitch;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
#include "pixel_formats.hlsli"
|
||||
#include "texture_copy.hlsli"
|
||||
#include "texture_load.hlsli"
|
||||
|
||||
[numthreads(8, 32, 1)]
|
||||
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
||||
// 1 thread = 4 DXT3 (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)) {
|
||||
[branch] if (any(block_index >= xe_texture_load_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);
|
||||
XeTextureLoadGuestBlockOffsets(block_index, 16u, 4u);
|
||||
uint4 block_0 = xe_texture_load_source.Load4(block_offsets_guest.x);
|
||||
uint4 block_1 = xe_texture_load_source.Load4(block_offsets_guest.y);
|
||||
uint4 block_2 = xe_texture_load_source.Load4(block_offsets_guest.z);
|
||||
uint4 block_3 = xe_texture_load_source.Load4(block_offsets_guest.w);
|
||||
block_0 = XeByteSwap(block_0, xe_texture_load_endianness);
|
||||
block_1 = XeByteSwap(block_1, xe_texture_load_endianness);
|
||||
block_2 = XeByteSwap(block_2, xe_texture_load_endianness);
|
||||
block_3 = XeByteSwap(block_3, xe_texture_load_endianness);
|
||||
uint4 alpha4_r01 = uint4(block_0.x, block_1.x, block_2.x, block_3.x);
|
||||
uint4 alpha4_r23 = uint4(block_0.y, block_1.y, block_2.y, block_3.y);
|
||||
|
||||
|
@ -35,8 +35,8 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
// 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;
|
||||
texel_index_host, xe_texture_load_size_texels.y,
|
||||
xe_texture_load_host_pitch, 4u) + xe_texture_load_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,
|
||||
|
@ -44,21 +44,21 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
row_0, row_1, row_2, row_3);
|
||||
uint4 alpha_row = XeDXT3FourBlocksRowToA8(
|
||||
(i < 2u ? alpha4_r01 : alpha4_r23) >> ((i & 1u) * 16u));
|
||||
xe_texture_copy_dest.Store4(
|
||||
xe_texture_load_dest.Store4(
|
||||
texel_offset_host,
|
||||
row_0 | ((alpha_row.xxxx << uint4(24u, 16u, 8u, 0u)) & 0xFF000000u));
|
||||
xe_texture_copy_dest.Store4(
|
||||
xe_texture_load_dest.Store4(
|
||||
texel_offset_host + 16u,
|
||||
row_1 | ((alpha_row.yyyy << uint4(24u, 16u, 8u, 0u)) & 0xFF000000u));
|
||||
xe_texture_copy_dest.Store4(
|
||||
xe_texture_load_dest.Store4(
|
||||
texel_offset_host + 32u,
|
||||
row_2 | ((alpha_row.zzzz << uint4(24u, 16u, 8u, 0u)) & 0xFF000000u));
|
||||
xe_texture_copy_dest.Store4(
|
||||
xe_texture_load_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) {
|
||||
if (++texel_index_host.y >= xe_texture_load_size_texels.y) {
|
||||
return;
|
||||
}
|
||||
texel_offset_host += xe_texture_copy_host_pitch;
|
||||
texel_offset_host += xe_texture_load_host_pitch;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#include "pixel_formats.hlsli"
|
||||
#include "texture_copy.hlsli"
|
||||
#include "texture_load.hlsli"
|
||||
|
||||
[numthreads(8, 32, 1)]
|
||||
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
||||
|
@ -7,30 +7,30 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
// DXT3 because the overhead is the same, 2x, but the size must be 4-aligned).
|
||||
uint3 block_index = xe_thread_id;
|
||||
block_index.x <<= 2u;
|
||||
[branch] if (any(block_index >= xe_texture_copy_size_blocks)) {
|
||||
[branch] if (any(block_index >= xe_texture_load_size_blocks)) {
|
||||
return;
|
||||
}
|
||||
uint4 block_offsets_guest =
|
||||
XeTextureCopyGuestBlockOffsets(block_index, 8u, 3u);
|
||||
uint4 blocks_01 = uint4(xe_texture_copy_source.Load2(block_offsets_guest.x),
|
||||
xe_texture_copy_source.Load2(block_offsets_guest.y));
|
||||
uint4 blocks_23 = uint4(xe_texture_copy_source.Load2(block_offsets_guest.z),
|
||||
xe_texture_copy_source.Load2(block_offsets_guest.w));
|
||||
blocks_01 = XeByteSwap(blocks_01, xe_texture_copy_endianness);
|
||||
blocks_23 = XeByteSwap(blocks_23, xe_texture_copy_endianness);
|
||||
XeTextureLoadGuestBlockOffsets(block_index, 8u, 3u);
|
||||
uint4 blocks_01 = uint4(xe_texture_load_source.Load2(block_offsets_guest.x),
|
||||
xe_texture_load_source.Load2(block_offsets_guest.y));
|
||||
uint4 blocks_23 = uint4(xe_texture_load_source.Load2(block_offsets_guest.z),
|
||||
xe_texture_load_source.Load2(block_offsets_guest.w));
|
||||
blocks_01 = XeByteSwap(blocks_01, xe_texture_load_endianness);
|
||||
blocks_23 = XeByteSwap(blocks_23, xe_texture_load_endianness);
|
||||
uint4 alpha4_r01 = uint4(blocks_01.xz, blocks_23.xz);
|
||||
uint4 alpha4_r23 = uint4(blocks_01.yw, blocks_23.yw);
|
||||
// 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, 1u) + xe_texture_copy_host_base;
|
||||
texel_index_host, xe_texture_load_size_texels.y,
|
||||
xe_texture_load_host_pitch, 1u) + xe_texture_load_host_base;
|
||||
for (uint i = 0u; i < 4u; ++i) {
|
||||
xe_texture_copy_dest.Store4(texel_offset_host, XeDXT3FourBlocksRowToA8(
|
||||
xe_texture_load_dest.Store4(texel_offset_host, XeDXT3FourBlocksRowToA8(
|
||||
(i < 2u ? alpha4_r01 : alpha4_r23) >> ((i & 1u) * 16u)));
|
||||
if (++texel_index_host.y >= xe_texture_copy_size_texels.y) {
|
||||
if (++texel_index_host.y >= xe_texture_load_size_texels.y) {
|
||||
return;
|
||||
}
|
||||
texel_offset_host += xe_texture_copy_host_pitch;
|
||||
texel_offset_host += xe_texture_load_host_pitch;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
#include "pixel_formats.hlsli"
|
||||
#include "texture_copy.hlsli"
|
||||
#include "texture_load.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)) {
|
||||
[branch] if (any(block_index >= xe_texture_load_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);
|
||||
XeTextureLoadGuestBlockOffsets(block_index, 16u, 4u);
|
||||
uint4 block_0 = xe_texture_load_source.Load4(block_offsets_guest.x);
|
||||
uint4 block_1 = xe_texture_load_source.Load4(block_offsets_guest.y);
|
||||
uint4 block_2 = xe_texture_load_source.Load4(block_offsets_guest.z);
|
||||
uint4 block_3 = xe_texture_load_source.Load4(block_offsets_guest.w);
|
||||
block_0 = XeByteSwap(block_0, xe_texture_load_endianness);
|
||||
block_1 = XeByteSwap(block_1, xe_texture_load_endianness);
|
||||
block_2 = XeByteSwap(block_2, xe_texture_load_endianness);
|
||||
block_3 = XeByteSwap(block_3, xe_texture_load_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);
|
||||
|
||||
|
@ -46,8 +46,8 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
// 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;
|
||||
texel_index_host, xe_texture_load_size_texels.y,
|
||||
xe_texture_load_host_pitch, 4u) + xe_texture_load_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,
|
||||
|
@ -59,21 +59,21 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
((i & 1u) * 12u),
|
||||
(i < 2u ? alpha_weights_6step_r01 : alpha_weights_6step_r23) >>
|
||||
((i & 1u) * 12u));
|
||||
xe_texture_copy_dest.Store4(
|
||||
xe_texture_load_dest.Store4(
|
||||
texel_offset_host,
|
||||
row_0 | ((alpha_row.xxxx << uint4(24u, 16u, 8u, 0u)) & 0xFF000000u));
|
||||
xe_texture_copy_dest.Store4(
|
||||
xe_texture_load_dest.Store4(
|
||||
texel_offset_host + 16u,
|
||||
row_1 | ((alpha_row.yyyy << uint4(24u, 16u, 8u, 0u)) & 0xFF000000u));
|
||||
xe_texture_copy_dest.Store4(
|
||||
xe_texture_load_dest.Store4(
|
||||
texel_offset_host + 32u,
|
||||
row_2 | ((alpha_row.zzzz << uint4(24u, 16u, 8u, 0u)) & 0xFF000000u));
|
||||
xe_texture_copy_dest.Store4(
|
||||
xe_texture_load_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) {
|
||||
if (++texel_index_host.y >= xe_texture_load_size_texels.y) {
|
||||
return;
|
||||
}
|
||||
texel_offset_host += xe_texture_copy_host_pitch;
|
||||
texel_offset_host += xe_texture_load_host_pitch;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
#include "pixel_formats.hlsli"
|
||||
#include "texture_copy.hlsli"
|
||||
#include "texture_load.hlsli"
|
||||
|
||||
[numthreads(8, 32, 1)]
|
||||
void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
||||
// 1 thread = 4 DXT5A (8bpb) blocks to 16x4 R8 texels.
|
||||
uint3 block_index = xe_thread_id;
|
||||
block_index.x <<= 2u;
|
||||
[branch] if (any(block_index >= xe_texture_copy_size_blocks)) {
|
||||
[branch] if (any(block_index >= xe_texture_load_size_blocks)) {
|
||||
return;
|
||||
}
|
||||
uint4 block_offsets_guest =
|
||||
XeTextureCopyGuestBlockOffsets(block_index, 8u, 3u);
|
||||
uint4 blocks_01 = uint4(xe_texture_copy_source.Load2(block_offsets_guest.x),
|
||||
xe_texture_copy_source.Load2(block_offsets_guest.y));
|
||||
uint4 blocks_23 = uint4(xe_texture_copy_source.Load2(block_offsets_guest.z),
|
||||
xe_texture_copy_source.Load2(block_offsets_guest.w));
|
||||
blocks_01 = XeByteSwap(blocks_01, xe_texture_copy_endianness);
|
||||
blocks_23 = XeByteSwap(blocks_23, xe_texture_copy_endianness);
|
||||
XeTextureLoadGuestBlockOffsets(block_index, 8u, 3u);
|
||||
uint4 blocks_01 = uint4(xe_texture_load_source.Load2(block_offsets_guest.x),
|
||||
xe_texture_load_source.Load2(block_offsets_guest.y));
|
||||
uint4 blocks_23 = uint4(xe_texture_load_source.Load2(block_offsets_guest.z),
|
||||
xe_texture_load_source.Load2(block_offsets_guest.w));
|
||||
blocks_01 = XeByteSwap(blocks_01, xe_texture_load_endianness);
|
||||
blocks_23 = XeByteSwap(blocks_23, xe_texture_load_endianness);
|
||||
uint4 r_blocks_0 = uint4(blocks_01.xz, blocks_23.xz);
|
||||
uint4 r_blocks_1 = uint4(blocks_01.yw, blocks_23.yw);
|
||||
|
||||
|
@ -35,18 +35,18 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) {
|
|||
// 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, 1u) + xe_texture_copy_host_base;
|
||||
texel_index_host, xe_texture_load_size_texels.y,
|
||||
xe_texture_load_host_pitch, 1u) + xe_texture_load_host_base;
|
||||
for (uint i = 0u; i < 4u; ++i) {
|
||||
xe_texture_copy_dest.Store4(texel_offset_host, XeDXT5Four8StepBlocksRowToA8(
|
||||
xe_texture_load_dest.Store4(texel_offset_host, XeDXT5Four8StepBlocksRowToA8(
|
||||
r_end_low, r_end_high,
|
||||
(i < 2u ? r_weights_8step_r01 : r_weights_8step_r23) >>
|
||||
((i & 1u) * 12u),
|
||||
(i < 2u ? r_weights_6step_r01 : r_weights_6step_r23) >>
|
||||
((i & 1u) * 12u)));
|
||||
if (++texel_index_host.y >= xe_texture_copy_size_texels.y) {
|
||||
if (++texel_index_host.y >= xe_texture_load_size_texels.y) {
|
||||
return;
|
||||
}
|
||||
texel_offset_host += xe_texture_copy_host_pitch;
|
||||
texel_offset_host += xe_texture_load_host_pitch;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue