diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index d2583127f89..ef2a790de06 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -363,6 +363,8 @@ lower_bit_size_callback(const nir_instr *instr, void *_) case nir_op_ine: case nir_op_ult: case nir_op_uge: + case nir_op_bitz: + case nir_op_bitnz: return (bit_size == 8 || !(chip >= GFX8 && nir_dest_is_divergent(alu->dest.dest))) ? 32 : 0; default: return 0; diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 72d635eb4b1..a07e766e708 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -105,6 +105,7 @@ get_nir_options_for_stage(struct radv_physical_device *device, gl_shader_stage s .has_dot_2x16 = device->rad_info.has_accelerated_dot_product && device->rad_info.gfx_level < GFX11, .has_find_msb_rev = true, .has_pack_half_2x16_rtz = true, + .has_bit_test = !device->use_llvm, .has_fmulz = true, .max_unroll_iterations = 32, .max_unroll_iterations_aggressive = 128,