[GPU] Up to 7x7 resolution scaling

This commit is contained in:
Triang3l
2022-07-17 20:41:50 +03:00
parent e8652e544a
commit 14fdf4b270
106 changed files with 38342 additions and 37501 deletions

View File

@@ -43,16 +43,24 @@ xesl_entry_inputs_end_code_begin_compute
xesl_function_call_uintVectorBuffer(xe_resolve_edram)
xesl_function_call_next_after_uintVectorBuffer
resolve_info,
XeResolveColorCopySourcePixelAddressIntsYDuplicating(resolve_info,
pixel_index),
XeResolveColorCopySourcePixelAddressIntsYHalfPixelOffsetFilling(
resolve_info, pixel_index),
pixel_0, pixel_1, pixel_2, pixel_3);
if (resolve_info.duplicate_second_host_pixel.x && pixel_index.x == 0u) {
pixel_0 = pixel_1;
xesl_uint4 packed = XePack32bpp4Pixels(pixel_0, pixel_1, pixel_2, pixel_3,
resolve_info.dest_format);
xesl_dont_flatten
if (pixel_index.x == 0u &&
resolve_info.half_pixel_offset_fill_source.x != 0u) {
if (resolve_info.half_pixel_offset_fill_source.x >= 2u) {
if (resolve_info.half_pixel_offset_fill_source.x >= 3u) {
packed.z = packed.w;
}
packed.y = packed.z;
}
packed.x = packed.y;
}
xesl_typedStorageBufferStore(
xe_resolve_dest,
XeResolveDestPixelAddress(resolve_info, pixel_index, 2u) >> 4u,
XeEndianSwap32(XePack32bpp4Pixels(pixel_0, pixel_1, pixel_2, pixel_3,
resolve_info.dest_format),
resolve_info.dest_endian_128));
XeEndianSwap32(packed, resolve_info.dest_endian_128));
xesl_entry_code_end_compute