You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Operating System and version: Windows 10 x86-64bit
GPU (used with TrueAudioNext): AMD Radeon RX 6900 XT
Issue Description
When using TrueAudioNext for realtime reflection reverb, no audible reverb is produced. (output buffer is filled with zeroes). Using realtime Convolution, instead, produces audible and correct reverbs. In my project, both reflection types utilize the same code path, and both use IPLReflectionMixer (iplReflectionEffectApply + iplReflectionMixerApply) to mix the results into an ambisonics field, but only the Convolution produces any audible (and to my ear, perfectly acceptable) results.
Steps To Reproduce
Here's an overview of the steps I'm taking, and the relevant input values. Do note that the addressess of the devices might change between images, since the images were captured in multiple runs.
Query OpenCL devices, and generate OpenCL device with iplOpenCLDeviceCreate:
Logs verify the device creation was successful:
Using 4 CUs for convolution, 4 CUs for IR update.
Initialized OpenCL platform: Advanced Micro Devices, Inc. AMD Accelerated Parallel Processing (OpenCL 2.1 AMD-APP (3592.0)).
Display: Initialized OpenCL device: Advanced Micro Devices, Inc. gfx1030 (OpenCL 2.0 AMD-APP (3592.0)).
Create simulator, using the OpenCL device, and TAN device: iplSimulatorRunReflections is run after, to produce reflection outputs for source.
Create mixer:
Create reflection effect:
Apply reflection on source data, using the built-in mixer: out buffer is empty at this point, but that is expected when using a mixer.
Apply the mixer, to receive the mixed ambisonics value: At this point, right after running iplReflectionMixerApply, the out buffer is always empty, when using TrueAudioNext.
For completeness, here's ambisonics decode applied to the mixer results (though mixer output was already nothing but zeroes):
Further notes:
Releasing and recreating the OpenCL device always fails, if any TrueAudioNext processing has been done on the device. iplOpenCLDeviceCreate reports failure (IPLerror::IPL_STATUS_INITIALIZATION), and the following is output into logs:
Found OpenCL Device, Name: gfx1030, Vendor: Advanced Micro Devices, Inc., Version: OpenCL 2.0 AMD-APP (3592.0)
Initialized AMD Advanced Media Framework v1.4.32.0.
[AMFComputeFactoryImpl] Error: ..\..\..\..\..\runtime\src\core\ComputeFactoryImpl.cpp(287):OpenCL failed, error = -6:clCreateCommandQueueWithProperties() failed
Exception thrown at 0x00007FF94E54CF19 in UnrealEditor-Win64-DebugGame.exe: Microsoft C++ exception: ipl::Exception at memory location 0x000000A4FEB78230.*/
Creating the OpenCL device, then immediately destroying it, and then immediately creating it again works with no issues, if no TrueAudioNext processing has been done with the device.
The output values contain the ambisonics field values, so they are meaningless here, other than to show the difference between working Convolution, and non-working TrueAudioNext.
Using TrueAudioNext and Radeon Rays at the same time is also broken, but produces different results (after iplReflectionMixerApply):
Radeon Rays seems to be working, whether TrueAudioNext is enabled or not, so I'm assuming the OpenCL device is at least somewhat correctly working, under the hood.
The text was updated successfully, but these errors were encountered:
System Information
Issue Description
When using TrueAudioNext for realtime reflection reverb, no audible reverb is produced. (output buffer is filled with zeroes). Using realtime Convolution, instead, produces audible and correct reverbs. In my project, both reflection types utilize the same code path, and both use IPLReflectionMixer (iplReflectionEffectApply + iplReflectionMixerApply) to mix the results into an ambisonics field, but only the Convolution produces any audible (and to my ear, perfectly acceptable) results.
Steps To Reproduce
Here's an overview of the steps I'm taking, and the relevant input values. Do note that the addressess of the devices might change between images, since the images were captured in multiple runs.
Logs verify the device creation was successful:
Create simulator, using the OpenCL device, and TAN device:
iplSimulatorRunReflections is run after, to produce reflection outputs for source.
Create mixer:
Create reflection effect:
Apply reflection on source data, using the built-in mixer:
out buffer is empty at this point, but that is expected when using a mixer.
Apply the mixer, to receive the mixed ambisonics value:
At this point, right after running iplReflectionMixerApply, the out buffer is always empty, when using TrueAudioNext.
For completeness, here's ambisonics decode applied to the mixer results (though mixer output was already nothing but zeroes):
Further notes:
Creating the OpenCL device, then immediately destroying it, and then immediately creating it again works with no issues, if no TrueAudioNext processing has been done with the device.
Example input buffer and output buffer values
Example audio input:
Example output (after iplReflectionMixerApply), when using TrueAudioNext:
Example output (after iplReflectionMixerApply), when using Convolution (reverb is working, and audible):
The output values contain the ambisonics field values, so they are meaningless here, other than to show the difference between working Convolution, and non-working TrueAudioNext.
Using TrueAudioNext and Radeon Rays at the same time is also broken, but produces different results (after iplReflectionMixerApply):
Radeon Rays seems to be working, whether TrueAudioNext is enabled or not, so I'm assuming the OpenCL device is at least somewhat correctly working, under the hood.
The text was updated successfully, but these errors were encountered: