Skip to content

Combining filters with buffer does not work normally #11

@Umio-Yasuno

Description

@Umio-Yasuno

Hello.
I tried to implement the combination of filters by referring to the link below.
https://radeon-pro.github.io/RadeonProRenderDocs/en/rif/combining_filters.html

The unbuffered version works fine.
However, the buffered version does not work normally

The unbuffered version works fine if not combined with a size-affecting filter (e.g. Resampling, Rotate, Flip), so I'm going to use that for now.

/*
 *    without buffer
 */
   
   if (i % 2 == 0) {
      rifCommandQueueAttachImageFilter(queue, filter[i], inputImage,  outputImage);
   } else {
      rifCommandQueueAttachImageFilter(queue, filter[i], outputImage, inputImage);
   }

   if (i == filter_count - 1 && i % 2 == 1) {
      rif_image_filter fill_filter = nullptr;

      rifContextCreateImageFilter(context,
                                  RIF_IMAGE_FILTER_CONVERT,
                                  &fill_filter);

      rifCommandQueueAttachImageFilter(queue, fill_filter, inputImage, outputImage);
   }
/*
 *    with buffer
 */
   if (i == 0 && filter_count == 1) {
      rifCommandQueueAttachImageFilter(queue, filter[i], inputImage, outputImage);

   } else if (i == 0) {
      rifImageFilterSetParameterImage(filter[i], "srcBuffer", inputImage);

   } else if (0 < i && i < filter_count - 1) {
      rifImageFilterSetParameterImage(filter[i], "srcBuffer", (rif_image)(filter[i-1]));

   } else if (i == filter_count - 1) {
      rifCommandQueueAttachImageFilter(queue, filter[i],
                                       (rif_image)(filter[i-1]), outputImage);
   }

Trace file & Log

filter: bloom + bloom

rif-trace-1611674947-1.6.2.0xbdf2aac0.tar.gz
bloom_and_bloom-log.txt

filter: bloom + motion blur

rif-trace-1611674748-1.6.2.0xbdf2aac0.tar.gz
bloom_and_motionblur-log.txt

OS: Debian GNU/Linux bullseye/sid
CPU: Ryzen 5 2600
GPU: Radeon RX 560 4GB (Polaris11, gfx803)
OpenCL: OpenCL 2.0 AMD-APP (3212.0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions