[Android Software Development] najabi:
Yes, I have enabled 32-bit floating point, not in Narsil user options, but manually in audio_policy_configuration.xml. I once tried to enable in narsil user options but it didn't work. I think it modifies an entry in mixer_paths*.xml, but it's not necessary.

If you add just one profile to any <mixport> in audio_policy_configuration.xml, it will take for mixer_out the highest bitdepth and samplerate (if supported).

For example, I have a Xiaomi Mi 8 and this is my deep_buffer config:

<mixPort name="deep_buffer" role="source"
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>

With this config, every time Android selects deep_buffer output (mixer), such as with Chrome and most music players, it takes 384KHz and 32-bit Floating point (PCM_FLOAT). The other profiles are ignored. It works good with good sound quality. Maybe it's too much, but it works in my phone. Same for other mixports like primary_output or fast (low latency). However, for music player you only want deep_buffer to upsample (if you do). The default value is 48KHz. You could select 44.1Khz aswell to avoid resampling, although it has given me some glitches before while testing and debugging. Of course if you watch a youtube or a video with 48Khz samplerate you are focing here to reample to 44.1 again. Maybe it's best for you to leave the default 48Khz value, 44.1 if you listen to music with deep_buffer, or sth like 192000 for a compromise. If android uses a good quality resampler, it could improve processing of equalizer and effects if you add bitdepth and samplerate to mixing. Although the best for me is always to play in native samplerate. But since Chrome and Youtube use always deep_buffer this is of interest.

I'd also add that if you use a music player that selects DIRECT_PCM or OFFLOAD_COMPRESS output, it works with native samplerate and bitdepth most of the time. For example, PowerAmp and Neutron work with DIRECT output. Some players like Android Music from F-droid select compress-offload automatically with is desirable since it's decoded by the hardware audio chipset (hardware accelerated) and not by the app or processor. It also takes native samplerate and bitdepth according to the profiles in audio_policy_configuration.xml in your system. For example, MX Player working in HW codec takes compress_offload if you select OPENSL output in preferences. Othrwise it selects deep_buffer in my case.

Note that if you are using Narsil Magisk module, you can't edit this config files since they are protected for compatible audio modules. That's how they survive OTAs, because they hold a copy and rewrite changes. You can edit the files, but they are revrted when you restart the phone. If you want to edit files manually, you have to uninstall Narsil.