anv: Advertise support for shaderBufferFloat32AtomicAdd

Rework: (Sagar)
- Enable shaderBufferFloat32AtomicAdd for XeHPG

Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12566>
This commit is contained in:
Jason Ekstrand 2021-08-25 13:00:51 -07:00 committed by Marge Bot
parent 7b21def9c2
commit 7f2395046f
3 changed files with 5 additions and 1 deletions

View file

@ -1708,7 +1708,7 @@ void anv_GetPhysicalDeviceFeatures2(
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: {
VkPhysicalDeviceShaderAtomicFloatFeaturesEXT *features = (void *)ext;
features->shaderBufferFloat32Atomics = true;
features->shaderBufferFloat32AtomicAdd = false;
features->shaderBufferFloat32AtomicAdd = pdevice->info.has_lsc;
features->shaderBufferFloat64Atomics = false;
features->shaderBufferFloat64AtomicAdd = false;
features->shaderSharedFloat32Atomics = true;

View file

@ -143,6 +143,7 @@ get_used_bindings(UNUSED nir_builder *_b, nir_instr *instr, void *_state)
case nir_intrinsic_image_deref_atomic_xor:
case nir_intrinsic_image_deref_atomic_exchange:
case nir_intrinsic_image_deref_atomic_comp_swap:
case nir_intrinsic_image_deref_atomic_fadd:
case nir_intrinsic_image_deref_size:
case nir_intrinsic_image_deref_samples:
case nir_intrinsic_image_deref_load_param_intel:
@ -819,6 +820,7 @@ lower_direct_buffer_instr(nir_builder *b, nir_instr *instr, void *_state)
case nir_intrinsic_deref_atomic_xor:
case nir_intrinsic_deref_atomic_exchange:
case nir_intrinsic_deref_atomic_comp_swap:
case nir_intrinsic_deref_atomic_fadd:
case nir_intrinsic_deref_atomic_fmin:
case nir_intrinsic_deref_atomic_fmax:
case nir_intrinsic_deref_atomic_fcomp_swap:
@ -1350,6 +1352,7 @@ apply_pipeline_layout(nir_builder *b, nir_instr *instr, void *_state)
case nir_intrinsic_image_deref_atomic_xor:
case nir_intrinsic_image_deref_atomic_exchange:
case nir_intrinsic_image_deref_atomic_comp_swap:
case nir_intrinsic_image_deref_atomic_fadd:
case nir_intrinsic_image_deref_size:
case nir_intrinsic_image_deref_samples:
case nir_intrinsic_image_deref_load_param_intel:

View file

@ -112,6 +112,7 @@ anv_shader_compile_to_nir(struct anv_device *device,
.device_group = true,
.draw_parameters = true,
.float16 = pdevice->info.ver >= 8,
.float32_atomic_add = pdevice->info.has_lsc,
.float32_atomic_min_max = pdevice->info.ver >= 9,
.float64 = pdevice->info.ver >= 8,
.fragment_shader_sample_interlock = pdevice->info.ver >= 9,