radv: enable denorms for 64-bit and 16-bit floats
Similar to RadeonSI. This fixes: dEQP-VK.image.texel_view_compatible.graphic.basic.attachment_read.bc*r16g16b16a16_sfloat dEQP-VK.image.extended_usage_bit.attachment_write.r16_sfloat Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
parent
7643c71527
commit
ec63ab39be
|
@ -6892,6 +6892,20 @@ static void ac_compile_llvm_module(LLVMTargetMachineRef tm,
|
|||
/* +3 for scratch wave offset and VCC */
|
||||
config->num_sgprs = MAX2(config->num_sgprs,
|
||||
shader_info->num_input_sgprs + 3);
|
||||
|
||||
/* Enable 64-bit and 16-bit denormals, because there is no performance
|
||||
* cost.
|
||||
*
|
||||
* If denormals are enabled, all floating-point output modifiers are
|
||||
* ignored.
|
||||
*
|
||||
* Don't enable denormals for 32-bit floats, because:
|
||||
* - Floating-point output modifiers would be ignored by the hw.
|
||||
* - Some opcodes don't support denormals, such as v_mad_f32. We would
|
||||
* have to stop using those.
|
||||
* - SI & CI would be very slow.
|
||||
*/
|
||||
config->float_mode |= V_00B028_FP_64_DENORMS;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue