[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

@@ -40,11 +40,21 @@ 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,
xesl_uint2(max(pixel_index.x,
resolve_info.half_pixel_offset_fill_source.x),
pixel_index.y)),
pixel_0, pixel_1);
if (resolve_info.duplicate_second_host_pixel.x && pixel_index.x == 0u) {
pixel_0 = pixel_1;
// Inside the half-pixel offset filling columns, pixel_0 now contains the
// pixel to stretch, pixel_1 contains the pixel after it. However, this means
// that the pixel offset is not aligned to 2 anymore. If 1 is the pixel to
// stretch, the two pixels will be 1 and 2 for pixel_index.x == 0. If 3 is,
// they will be 3 and 4 for pixel_index.x == 0 and 2. However, in the former
// case, they should be 1 and 1, and in the latter, 3 and 3.
xesl_dont_flatten
if (pixel_index.x < resolve_info.half_pixel_offset_fill_source.x) {
pixel_1 = pixel_0;
}
// Only 32_32_32_32_FLOAT color format is 128bpp.
uint dest_address =