[D3D12] Rename XeTextureCopy to XeTextureLoad in shaders

This commit is contained in:
Triang3l 2018-10-05 20:02:36 +03:00
parent 9dc7dfab02
commit 34946c57b0
58 changed files with 730 additions and 730 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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;
}
}

View File

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

View File

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

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}