[cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:basics,subgroups:*]
  [:statement="for"]

  [:statement="if"]

  [:statement="switch"]

  [:statement="while"]


[cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:basics:*]
  implementation-status: backlog
  [:statement="for"]
    expected: FAIL

  [:statement="if"]
    expected: FAIL

  [:statement="switch"]
    expected: FAIL

  [:statement="while"]
    expected: FAIL


[cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:binary_expressions:*]
  implementation-status: backlog
  [:e1="literal";e2="literal"]

  [:e1="literal";e2="nonuniform"]
    expected: FAIL

  [:e1="literal";e2="nonuniform_index1"]
    expected: FAIL

  [:e1="literal";e2="nonuniform_index2"]
    expected: FAIL

  [:e1="literal";e2="nonuniform_struct"]
    expected: FAIL

  [:e1="literal";e2="uniform"]

  [:e1="literal";e2="uniform_index"]

  [:e1="literal";e2="uniform_struct"]

  [:e1="nonuniform";e2="literal"]
    expected: FAIL

  [:e1="nonuniform";e2="nonuniform"]
    expected: FAIL

  [:e1="nonuniform";e2="nonuniform_index1"]
    expected: FAIL

  [:e1="nonuniform";e2="nonuniform_index2"]
    expected: FAIL

  [:e1="nonuniform";e2="nonuniform_struct"]
    expected: FAIL

  [:e1="nonuniform";e2="uniform"]
    expected: FAIL

  [:e1="nonuniform";e2="uniform_index"]
    expected: FAIL

  [:e1="nonuniform";e2="uniform_struct"]
    expected: FAIL

  [:e1="nonuniform_index1";e2="literal"]
    expected: FAIL

  [:e1="nonuniform_index1";e2="nonuniform"]
    expected: FAIL

  [:e1="nonuniform_index1";e2="nonuniform_index1"]
    expected: FAIL

  [:e1="nonuniform_index1";e2="nonuniform_index2"]
    expected: FAIL

  [:e1="nonuniform_index1";e2="nonuniform_struct"]
    expected: FAIL

  [:e1="nonuniform_index1";e2="uniform"]
    expected: FAIL

  [:e1="nonuniform_index1";e2="uniform_index"]
    expected: FAIL

  [:e1="nonuniform_index1";e2="uniform_struct"]
    expected: FAIL

  [:e1="nonuniform_index2";e2="literal"]
    expected: FAIL

  [:e1="nonuniform_index2";e2="nonuniform"]
    expected: FAIL

  [:e1="nonuniform_index2";e2="nonuniform_index1"]
    expected: FAIL

  [:e1="nonuniform_index2";e2="nonuniform_index2"]
    expected: FAIL

  [:e1="nonuniform_index2";e2="nonuniform_struct"]
    expected: FAIL

  [:e1="nonuniform_index2";e2="uniform"]
    expected: FAIL

  [:e1="nonuniform_index2";e2="uniform_index"]
    expected: FAIL

  [:e1="nonuniform_index2";e2="uniform_struct"]
    expected: FAIL

  [:e1="nonuniform_struct";e2="literal"]
    expected: FAIL

  [:e1="nonuniform_struct";e2="nonuniform"]
    expected: FAIL

  [:e1="nonuniform_struct";e2="nonuniform_index1"]
    expected: FAIL

  [:e1="nonuniform_struct";e2="nonuniform_index2"]
    expected: FAIL

  [:e1="nonuniform_struct";e2="nonuniform_struct"]
    expected: FAIL

  [:e1="nonuniform_struct";e2="uniform"]
    expected: FAIL

  [:e1="nonuniform_struct";e2="uniform_index"]
    expected: FAIL

  [:e1="nonuniform_struct";e2="uniform_struct"]
    expected: FAIL

  [:e1="uniform";e2="literal"]

  [:e1="uniform";e2="nonuniform"]
    expected: FAIL

  [:e1="uniform";e2="nonuniform_index1"]
    expected: FAIL

  [:e1="uniform";e2="nonuniform_index2"]
    expected: FAIL

  [:e1="uniform";e2="nonuniform_struct"]
    expected: FAIL

  [:e1="uniform";e2="uniform"]

  [:e1="uniform";e2="uniform_index"]

  [:e1="uniform";e2="uniform_struct"]

  [:e1="uniform_index";e2="literal"]

  [:e1="uniform_index";e2="nonuniform"]
    expected: FAIL

  [:e1="uniform_index";e2="nonuniform_index1"]
    expected: FAIL

  [:e1="uniform_index";e2="nonuniform_index2"]
    expected: FAIL

  [:e1="uniform_index";e2="nonuniform_struct"]
    expected: FAIL

  [:e1="uniform_index";e2="uniform"]

  [:e1="uniform_index";e2="uniform_index"]

  [:e1="uniform_index";e2="uniform_struct"]

  [:e1="uniform_struct";e2="literal"]

  [:e1="uniform_struct";e2="nonuniform"]
    expected: FAIL

  [:e1="uniform_struct";e2="nonuniform_index1"]
    expected: FAIL

  [:e1="uniform_struct";e2="nonuniform_index2"]
    expected: FAIL

  [:e1="uniform_struct";e2="nonuniform_struct"]
    expected: FAIL

  [:e1="uniform_struct";e2="uniform"]

  [:e1="uniform_struct";e2="uniform_index"]

  [:e1="uniform_struct";e2="uniform_struct"]


[cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:compute_builtin_values:*]
  implementation-status: backlog
  [:builtin="global_invocation_id";type="vec3%3Cu32%3E";uniform=false]
    expected: FAIL

  [:builtin="local_invocation_id";type="vec3%3Cf32%3E";uniform=false]

  [:builtin="local_invocation_index";type="u32";uniform=false]
    expected: FAIL

  [:builtin="num_workgroups";type="vec3%3Cu32%3E";uniform=true]

  [:builtin="subgroup_invocation_id";type="u32";uniform=false]

  [:builtin="subgroup_size";type="u32";uniform=true]

  [:builtin="workgroup_id";type="vec3%3Cu32%3E";uniform=true]


[cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:fragment_builtin_values:*]
  implementation-status: backlog
  [:builtin="front_facing";type="bool"]
    expected: FAIL

  [:builtin="position";type="vec4%3Cf32%3E"]
    expected: FAIL

  [:builtin="sample_index";type="u32"]
    expected: FAIL

  [:builtin="sample_mask";type="u32"]
    expected: FAIL

  [:builtin="subgroup_invocation_id";type="u32"]

  [:builtin="subgroup_size";type="u32"]


[cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:function_pointer_parameters:*]
  implementation-status: backlog
  [:case="nonuniform_conditional_call_assign_uniform"]
    expected: FAIL

  [:case="nonuniform_param_nonuniform_assignment"]
    expected: FAIL

  [:case="nonuniform_param_uniform_assignment"]
    expected: FAIL

  [:case="pointer_codependent1"]

  [:case="pointer_codependent2"]
    expected: FAIL

  [:case="pointer_codependent3"]
    expected: FAIL

  [:case="pointer_codependent4"]
    expected: FAIL

  [:case="pointer_depends_on_nonpointer_param_nonuniform"]
    expected: FAIL

  [:case="pointer_depends_on_nonpointer_param_uniform"]

  [:case="pointer_depends_on_pointer_param_nonuniform"]
    expected: FAIL

  [:case="pointer_depends_on_pointer_param_uniform"]

  [:case="pointer_nonuniform_passthrough_value"]

  [:case="pointer_store_nonuniform_value"]
    expected: FAIL

  [:case="pointer_store_uniform_value"]

  [:case="pointer_uniform_passthrough_value"]

  [:case="required_uniform_failure"]
    expected: FAIL

  [:case="required_uniform_success"]

  [:case="uniform_conditional_call_assign_nonuniform1"]
    expected: FAIL

  [:case="uniform_conditional_call_assign_nonuniform2"]
    expected: FAIL

  [:case="uniform_conditional_call_assign_uniform"]

  [:case="uniform_param_nonuniform_assignment"]
    expected: FAIL

  [:case="uniform_param_uniform_assignment"]


[cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:function_variables:*]
  implementation-status: backlog
  [:case="after_loop_with_nonuniform_break";init="no_init"]
    expected: FAIL

  [:case="after_loop_with_nonuniform_break";init="nonuniform"]
    expected: FAIL

  [:case="after_loop_with_nonuniform_break";init="uniform"]
    expected: FAIL

  [:case="after_loop_with_uniform_break_nonuniform";init="no_init"]
    expected: FAIL

  [:case="after_loop_with_uniform_break_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="after_loop_with_uniform_break_nonuniform";init="uniform"]
    expected: FAIL

  [:case="after_loop_with_uniform_break_uniform";init="no_init"]

  [:case="after_loop_with_uniform_break_uniform";init="nonuniform"]

  [:case="after_loop_with_uniform_break_uniform";init="uniform"]

  [:case="after_loop_with_uniform_breaks";init="no_init"]

  [:case="after_loop_with_uniform_breaks";init="nonuniform"]
    expected: FAIL

  [:case="after_loop_with_uniform_breaks";init="uniform"]

  [:case="after_switch_all_uniform";init="no_init"]

  [:case="after_switch_all_uniform";init="nonuniform"]

  [:case="after_switch_all_uniform";init="uniform"]

  [:case="after_switch_nonuniform";init="no_init"]
    expected: FAIL

  [:case="after_switch_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="after_switch_nonuniform";init="uniform"]
    expected: FAIL

  [:case="after_switch_some_assign";init="no_init"]

  [:case="after_switch_some_assign";init="nonuniform"]
    expected: FAIL

  [:case="after_switch_some_assign";init="uniform"]

  [:case="after_switch_with_break_nonuniform1";init="no_init"]
    expected: FAIL

  [:case="after_switch_with_break_nonuniform1";init="nonuniform"]
    expected: FAIL

  [:case="after_switch_with_break_nonuniform1";init="uniform"]
    expected: FAIL

  [:case="after_switch_with_break_nonuniform2";init="no_init"]
    expected: FAIL

  [:case="after_switch_with_break_nonuniform2";init="nonuniform"]
    expected: FAIL

  [:case="after_switch_with_break_nonuniform2";init="uniform"]
    expected: FAIL

  [:case="compound_assign_nonuniform";init="no_init"]
    expected: FAIL

  [:case="compound_assign_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="compound_assign_nonuniform";init="uniform"]
    expected: FAIL

  [:case="compound_assign_uniform";init="no_init"]

  [:case="compound_assign_uniform";init="nonuniform"]
    expected: FAIL

  [:case="compound_assign_uniform";init="uniform"]

  [:case="for_loop_nonuniform_body";init="no_init"]
    expected: FAIL

  [:case="for_loop_nonuniform_body";init="nonuniform"]
    expected: FAIL

  [:case="for_loop_nonuniform_body";init="uniform"]
    expected: FAIL

  [:case="for_loop_nonuniform_body_no_condition";init="no_init"]
    expected: FAIL

  [:case="for_loop_nonuniform_body_no_condition";init="nonuniform"]
    expected: FAIL

  [:case="for_loop_nonuniform_body_no_condition";init="uniform"]
    expected: FAIL

  [:case="for_loop_nonuniform_increment";init="no_init"]
    expected: FAIL

  [:case="for_loop_nonuniform_increment";init="nonuniform"]
    expected: FAIL

  [:case="for_loop_nonuniform_increment";init="uniform"]
    expected: FAIL

  [:case="for_loop_nonuniform_init";init="no_init"]
    expected: FAIL

  [:case="for_loop_nonuniform_init";init="nonuniform"]
    expected: FAIL

  [:case="for_loop_nonuniform_init";init="uniform"]
    expected: FAIL

  [:case="for_loop_uniform_body";init="no_init"]

  [:case="for_loop_uniform_body";init="nonuniform"]
    expected: FAIL

  [:case="for_loop_uniform_body";init="uniform"]

  [:case="for_loop_uniform_body_no_condition";init="no_init"]

  [:case="for_loop_uniform_body_no_condition";init="nonuniform"]

  [:case="for_loop_uniform_body_no_condition";init="uniform"]

  [:case="for_loop_uniform_increment";init="no_init"]

  [:case="for_loop_uniform_increment";init="nonuniform"]
    expected: FAIL

  [:case="for_loop_uniform_increment";init="uniform"]

  [:case="for_loop_uniform_init";init="no_init"]

  [:case="for_loop_uniform_init";init="nonuniform"]

  [:case="for_loop_uniform_init";init="uniform"]

  [:case="if_else_nonuniform";init="no_init"]
    expected: FAIL

  [:case="if_else_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="if_else_nonuniform";init="uniform"]
    expected: FAIL

  [:case="if_else_split";init="no_init"]
    expected: FAIL

  [:case="if_else_split";init="nonuniform"]
    expected: FAIL

  [:case="if_else_split";init="uniform"]
    expected: FAIL

  [:case="if_else_uniform";init="no_init"]

  [:case="if_else_uniform";init="nonuniform"]

  [:case="if_else_uniform";init="uniform"]

  [:case="if_no_else_nonuniform";init="no_init"]
    expected: FAIL

  [:case="if_no_else_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="if_no_else_nonuniform";init="uniform"]
    expected: FAIL

  [:case="if_no_else_uniform";init="no_init"]

  [:case="if_no_else_uniform";init="nonuniform"]
    expected: FAIL

  [:case="if_no_else_uniform";init="uniform"]

  [:case="if_no_then_nonuniform";init="no_init"]
    expected: FAIL

  [:case="if_no_then_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="if_no_then_nonuniform";init="uniform"]
    expected: FAIL

  [:case="if_no_then_uniform";init="no_init"]

  [:case="if_no_then_uniform";init="nonuniform"]
    expected: FAIL

  [:case="if_no_then_uniform";init="uniform"]

  [:case="if_nonescaping_nonuniform";init="no_init"]

  [:case="if_nonescaping_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="if_nonescaping_nonuniform";init="uniform"]

  [:case="if_unreachable_else_none";init="no_init"]

  [:case="if_unreachable_else_none";init="nonuniform"]
    expected: FAIL

  [:case="if_unreachable_else_none";init="uniform"]

  [:case="if_unreachable_else_nonuniform";init="no_init"]
    expected: FAIL

  [:case="if_unreachable_else_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="if_unreachable_else_nonuniform";init="uniform"]
    expected: FAIL

  [:case="if_unreachable_else_uniform";init="no_init"]

  [:case="if_unreachable_else_uniform";init="nonuniform"]

  [:case="if_unreachable_else_uniform";init="uniform"]

  [:case="if_unreachable_then_none";init="no_init"]

  [:case="if_unreachable_then_none";init="nonuniform"]
    expected: FAIL

  [:case="if_unreachable_then_none";init="uniform"]

  [:case="if_unreachable_then_nonuniform";init="no_init"]
    expected: FAIL

  [:case="if_unreachable_then_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="if_unreachable_then_nonuniform";init="uniform"]
    expected: FAIL

  [:case="if_unreachable_then_uniform";init="no_init"]

  [:case="if_unreachable_then_uniform";init="nonuniform"]

  [:case="if_unreachable_then_uniform";init="uniform"]

  [:case="loop_body_depends_on_continuing_nonuniform";init="no_init"]
    expected: FAIL

  [:case="loop_body_depends_on_continuing_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="loop_body_depends_on_continuing_nonuniform";init="uniform"]
    expected: FAIL

  [:case="loop_body_depends_on_continuing_uniform";init="no_init"]

  [:case="loop_body_depends_on_continuing_uniform";init="nonuniform"]
    expected: FAIL

  [:case="loop_body_depends_on_continuing_uniform";init="uniform"]

  [:case="loop_body_nonuniform";init="no_init"]
    expected: FAIL

  [:case="loop_body_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="loop_body_nonuniform";init="uniform"]
    expected: FAIL

  [:case="loop_body_nonuniform_cond";init="no_init"]
    expected: FAIL

  [:case="loop_body_nonuniform_cond";init="nonuniform"]
    expected: FAIL

  [:case="loop_body_nonuniform_cond";init="uniform"]
    expected: FAIL

  [:case="loop_body_uniform";init="no_init"]

  [:case="loop_body_uniform";init="nonuniform"]

  [:case="loop_body_uniform";init="uniform"]

  [:case="loop_continuing_from_body_nonuniform";init="no_init"]
    expected: FAIL

  [:case="loop_continuing_from_body_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="loop_continuing_from_body_nonuniform";init="uniform"]
    expected: FAIL

  [:case="loop_continuing_from_body_split1";init="no_init"]

  [:case="loop_continuing_from_body_split1";init="nonuniform"]
    expected: FAIL

  [:case="loop_continuing_from_body_split1";init="uniform"]

  [:case="loop_continuing_from_body_split2";init="no_init"]
    expected: FAIL

  [:case="loop_continuing_from_body_split2";init="nonuniform"]
    expected: FAIL

  [:case="loop_continuing_from_body_split2";init="uniform"]
    expected: FAIL

  [:case="loop_continuing_from_body_split3";init="no_init"]

  [:case="loop_continuing_from_body_split3";init="nonuniform"]

  [:case="loop_continuing_from_body_split3";init="uniform"]

  [:case="loop_continuing_from_body_split4";init="no_init"]
    expected: FAIL

  [:case="loop_continuing_from_body_split4";init="nonuniform"]
    expected: FAIL

  [:case="loop_continuing_from_body_split4";init="uniform"]
    expected: FAIL

  [:case="loop_continuing_from_body_split5";init="no_init"]
    expected: FAIL

  [:case="loop_continuing_from_body_split5";init="nonuniform"]
    expected: FAIL

  [:case="loop_continuing_from_body_split5";init="uniform"]
    expected: FAIL

  [:case="loop_continuing_from_body_uniform";init="no_init"]

  [:case="loop_continuing_from_body_uniform";init="nonuniform"]

  [:case="loop_continuing_from_body_uniform";init="uniform"]

  [:case="loop_in_loop_with_continue_nonuniform";init="no_init"]
    expected: FAIL

  [:case="loop_in_loop_with_continue_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="loop_in_loop_with_continue_nonuniform";init="uniform"]
    expected: FAIL

  [:case="loop_in_loop_with_continue_uniform";init="no_init"]

  [:case="loop_in_loop_with_continue_uniform";init="nonuniform"]

  [:case="loop_in_loop_with_continue_uniform";init="uniform"]

  [:case="loop_unreachable_continuing";init="no_init"]

  [:case="loop_unreachable_continuing";init="nonuniform"]
    expected: FAIL

  [:case="loop_unreachable_continuing";init="uniform"]

  [:case="nested1";init="no_init"]

  [:case="nested1";init="nonuniform"]
    expected: FAIL

  [:case="nested1";init="uniform"]

  [:case="nested2";init="no_init"]
    expected: FAIL

  [:case="nested2";init="nonuniform"]
    expected: FAIL

  [:case="nested2";init="uniform"]
    expected: FAIL

  [:case="no_assign";init="no_init"]

  [:case="no_assign";init="nonuniform"]
    expected: FAIL

  [:case="no_assign";init="uniform"]

  [:case="partial_assignment_all_members_nonuniform";init="no_init"]
    expected: FAIL

  [:case="partial_assignment_all_members_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="partial_assignment_all_members_nonuniform";init="uniform"]
    expected: FAIL

  [:case="partial_assignment_all_members_uniform";init="no_init"]

  [:case="partial_assignment_all_members_uniform";init="nonuniform"]
    expected: FAIL

  [:case="partial_assignment_all_members_uniform";init="uniform"]

  [:case="partial_assignment_nonuniform";init="no_init"]
    expected: FAIL

  [:case="partial_assignment_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="partial_assignment_nonuniform";init="uniform"]
    expected: FAIL

  [:case="partial_assignment_single_element_array_nonuniform";init="no_init"]
    expected: FAIL

  [:case="partial_assignment_single_element_array_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="partial_assignment_single_element_array_nonuniform";init="uniform"]
    expected: FAIL

  [:case="partial_assignment_single_element_array_uniform";init="no_init"]

  [:case="partial_assignment_single_element_array_uniform";init="nonuniform"]
    expected: FAIL

  [:case="partial_assignment_single_element_array_uniform";init="uniform"]

  [:case="partial_assignment_single_element_struct_nonuniform";init="no_init"]
    expected: FAIL

  [:case="partial_assignment_single_element_struct_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="partial_assignment_single_element_struct_nonuniform";init="uniform"]
    expected: FAIL

  [:case="partial_assignment_single_element_struct_uniform";init="no_init"]

  [:case="partial_assignment_single_element_struct_uniform";init="nonuniform"]
    expected: FAIL

  [:case="partial_assignment_single_element_struct_uniform";init="uniform"]

  [:case="partial_assignment_uniform";init="no_init"]

  [:case="partial_assignment_uniform";init="nonuniform"]
    expected: FAIL

  [:case="partial_assignment_uniform";init="uniform"]

  [:case="simple_nonuniform";init="no_init"]
    expected: FAIL

  [:case="simple_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="simple_nonuniform";init="uniform"]
    expected: FAIL

  [:case="simple_uniform";init="no_init"]

  [:case="simple_uniform";init="nonuniform"]

  [:case="simple_uniform";init="uniform"]

  [:case="switch_nonuniform_case";init="no_init"]
    expected: FAIL

  [:case="switch_nonuniform_case";init="nonuniform"]
    expected: FAIL

  [:case="switch_nonuniform_case";init="uniform"]
    expected: FAIL

  [:case="switch_uniform_case";init="no_init"]

  [:case="switch_uniform_case";init="nonuniform"]
    expected: FAIL

  [:case="switch_uniform_case";init="uniform"]

  [:case="unreachable_nonuniform";init="no_init"]

  [:case="unreachable_nonuniform";init="nonuniform"]
    expected: FAIL

  [:case="unreachable_nonuniform";init="uniform"]

  [:case="unreachable_uniform";init="no_init"]

  [:case="unreachable_uniform";init="nonuniform"]
    expected: FAIL

  [:case="unreachable_uniform";init="uniform"]

  [:case="while_loop_nonuniform_body";init="no_init"]
    expected: FAIL

  [:case="while_loop_nonuniform_body";init="nonuniform"]
    expected: FAIL

  [:case="while_loop_nonuniform_body";init="uniform"]
    expected: FAIL

  [:case="while_loop_uniform_body";init="no_init"]

  [:case="while_loop_uniform_body";init="nonuniform"]
    expected: FAIL

  [:case="while_loop_uniform_body";init="uniform"]


[cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:functions:*]
  implementation-status: backlog
  [:case="combined_parameters1"]

  [:case="combined_parameters2"]
    expected: FAIL

  [:case="combined_parameters3"]
    expected: FAIL

  [:case="combined_parameters4"]
    expected: FAIL

  [:case="dpdxCoarse_nonuniform_result"]
    expected: FAIL

  [:case="dpdxFine_nonuniform_result"]
    expected: FAIL

  [:case="dpdx_nonuniform_result"]
    expected: FAIL

  [:case="dpdyCoarse_nonuniform_result"]
    expected: FAIL

  [:case="dpdyFine_nonuniform_result"]
    expected: FAIL

  [:case="dpdy_nonuniform_result"]
    expected: FAIL

  [:case="fwidthCoarse_nonuniform_result"]
    expected: FAIL

  [:case="fwidthFine_nonuniform_result"]
    expected: FAIL

  [:case="fwidth_nonuniform_result"]
    expected: FAIL

  [:case="min_uniform_input_uniform_result"]

  [:case="nonuniform_passthrough_parameter"]
    expected: FAIL

  [:case="nonuniform_result"]
    expected: FAIL

  [:case="nonuniform_return_is_uniform_after_call"]

  [:case="required_uniform_function_call_depends_on_nonuniform_param"]
    expected: FAIL

  [:case="required_uniform_function_call_depends_on_uniform_param"]

  [:case="required_uniform_function_call_in_nonuniform_cf"]
    expected: FAIL

  [:case="required_uniform_function_call_in_nonuniform_cf2"]
    expected: FAIL

  [:case="required_uniform_function_call_in_uniform_cf"]

  [:case="textureDimensions_uniform_input_uniform_result"]

  [:case="textureGatherCompare_uniform_input_uniform_result"]

  [:case="textureGather_uniform_input_uniform_result"]

  [:case="textureLoad_uniform_input_uniform_result"]

  [:case="textureNumLayers_uniform_input_uniform_result"]

  [:case="textureNumLevels_uniform_input_uniform_result"]

  [:case="textureNumSamples_uniform_input_uniform_result"]

  [:case="textureSampleBaseClampToEdge_uniform_input_uniform_result"]

  [:case="textureSampleBias_nonuniform_result"]
    expected: FAIL

  [:case="textureSampleCompareLevel_uniform_input_uniform_result"]

  [:case="textureSampleCompare_nonuniform_result"]
    expected: FAIL

  [:case="textureSampleGrad_uniform_input_uniform_result"]

  [:case="textureSampleLevel_uniform_input_uniform_result"]

  [:case="textureSample_nonuniform_result"]
    expected: FAIL

  [:case="uniform_parameter_cf_after_nonuniform_expr"]

  [:case="uniform_passthrough_parameter"]

  [:case="uniform_result"]

  [:case="value_constructor_uniform_input_uniform_result"]


[cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:pointers:*]
  implementation-status: backlog
  [:case="address_nonuniform_chain1"]
    expected: FAIL

  [:case="address_nonuniform_chain2"]
    expected: FAIL

  [:case="address_nonuniform_value"]
    expected: FAIL

  [:case="address_uniform_chain"]
    expected: FAIL

  [:case="address_uniform_literal"]
    expected: FAIL

  [:case="address_uniform_value"]
    expected: FAIL

  [:case="contents_array_nonuniform_index1"]
    expected: FAIL

  [:case="contents_array_nonuniform_index2"]
    expected: FAIL

  [:case="contents_array_nonuniform_index3"]
    expected: FAIL

  [:case="contents_array_uniform_index"]
    expected: FAIL

  [:case="contents_lhs_pointer_deref2"]

  [:case="contents_lhs_pointer_deref2a"]
    expected: FAIL

  [:case="contents_lhs_pointer_deref3"]

  [:case="contents_lhs_pointer_deref3a"]
    expected: FAIL

  [:case="contents_lhs_pointer_deref4"]

  [:case="contents_lhs_pointer_deref4a"]
    expected: FAIL

  [:case="contents_lhs_pointer_deref4b"]
    expected: FAIL

  [:case="contents_lhs_pointer_deref4c"]
    expected: FAIL

  [:case="contents_lhs_pointer_deref4d"]
    expected: FAIL

  [:case="contents_lhs_pointer_deref4e"]

  [:case="contents_lhs_ref_pointer_deref1"]

  [:case="contents_lhs_ref_pointer_deref1a"]
    expected: FAIL

  [:case="contents_lhs_ref_pointer_deref2"]
    expected: FAIL

  [:case="contents_lhs_ref_pointer_deref2a"]
    expected: FAIL

  [:case="contents_lhs_ref_pointer_deref3"]

  [:case="contents_lhs_ref_pointer_deref3a"]
    expected: FAIL

  [:case="contents_lhs_ref_pointer_deref4"]

  [:case="contents_lhs_ref_pointer_deref4a"]
    expected: FAIL

  [:case="contents_lhs_ref_pointer_deref4b"]
    expected: FAIL

  [:case="contents_lhs_ref_pointer_deref4c"]
    expected: FAIL

  [:case="contents_lhs_ref_pointer_deref4d"]
    expected: FAIL

  [:case="contents_lhs_ref_pointer_deref4e"]
    expected: FAIL

  [:case="contents_rhs_pointer_deref1"]

  [:case="contents_rhs_pointer_deref1a"]
    expected: FAIL

  [:case="contents_rhs_pointer_deref2"]
    expected: FAIL

  [:case="contents_rhs_pointer_swizzle_non_uniform"]
    expected: FAIL

  [:case="contents_rhs_pointer_swizzle_uniform"]

  [:case="contents_scalar_alias_nonuniform1"]
    expected: FAIL

  [:case="contents_scalar_alias_nonuniform2"]
    expected: FAIL

  [:case="contents_scalar_alias_nonuniform3"]
    expected: FAIL

  [:case="contents_scalar_alias_nonuniform4"]
    expected: FAIL

  [:case="contents_scalar_alias_nonuniform5"]
    expected: FAIL

  [:case="contents_scalar_alias_uniform"]
    expected: FAIL

  [:case="contents_scalar_nonuniform1"]
    expected: FAIL

  [:case="contents_scalar_nonuniform2"]
    expected: FAIL

  [:case="contents_scalar_uniform1"]
    expected: FAIL

  [:case="contents_scalar_uniform2"]
    expected: FAIL

  [:case="contents_scalar_uniform3"]
    expected: FAIL

  [:case="contents_struct_chain_nonuniform1"]
    expected: FAIL

  [:case="contents_struct_chain_nonuniform2"]
    expected: FAIL

  [:case="contents_struct_chain_nonuniform3"]
    expected: FAIL

  [:case="contents_struct_chain_uniform"]

  [:case="contents_struct_nonuniform1"]
    expected: FAIL

  [:case="contents_struct_nonuniform2"]
    expected: FAIL

  [:case="contents_struct_nonuniform3"]
    expected: FAIL

  [:case="contents_struct_uniform"]

  [:case="wg_uniform_load_atomic_is_uniform"]
    expected: FAIL

  [:case="wg_uniform_load_is_uniform"]


[cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:short_circuit_expressions:*]
  implementation-status: backlog
  [:case="and_nonuniform_nonuniform"]
    expected: FAIL

  [:case="and_nonuniform_uniform"]
    expected: FAIL

  [:case="and_uniform_first_nonuniform"]

  [:case="and_uniform_nonuniform"]
    expected: FAIL

  [:case="and_uniform_second_nonuniform"]
    expected: FAIL

  [:case="and_uniform_uniform"]

  [:case="or_nonuniform_nonuniform"]
    expected: FAIL

  [:case="or_nonuniform_uniform"]
    expected: FAIL

  [:case="or_uniform_first_nonuniform"]

  [:case="or_uniform_nonuniform"]
    expected: FAIL

  [:case="or_uniform_second_nonuniform"]
    expected: FAIL

  [:case="or_uniform_uniform"]


[cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:subgroups,parameters:*]
  [:op="subgroupShuffleDown";uniform=false]

  [:op="subgroupShuffleDown";uniform=true]

  [:op="subgroupShuffleUp";uniform=false]

  [:op="subgroupShuffleUp";uniform=true]

  [:op="subgroupShuffleXor";uniform=false]

  [:op="subgroupShuffleXor";uniform=true]


[cts.https.html?q=webgpu:shader,validation,uniformity,uniformity:unary_expressions:*]
  implementation-status: backlog
  [:e="literal";op="!b_tmp"]

  [:e="literal";op="-i32(i_tmp)%20%3E%200"]

  [:e="literal";op="~i_tmp%20%3E%200"]

  [:e="nonuniform";op="!b_tmp"]
    expected: FAIL

  [:e="nonuniform";op="-i32(i_tmp)%20%3E%200"]
    expected: FAIL

  [:e="nonuniform";op="~i_tmp%20%3E%200"]
    expected: FAIL

  [:e="nonuniform_index1";op="!b_tmp"]
    expected: FAIL

  [:e="nonuniform_index1";op="-i32(i_tmp)%20%3E%200"]
    expected: FAIL

  [:e="nonuniform_index1";op="~i_tmp%20%3E%200"]
    expected: FAIL

  [:e="nonuniform_index2";op="!b_tmp"]
    expected: FAIL

  [:e="nonuniform_index2";op="-i32(i_tmp)%20%3E%200"]
    expected: FAIL

  [:e="nonuniform_index2";op="~i_tmp%20%3E%200"]
    expected: FAIL

  [:e="nonuniform_struct";op="!b_tmp"]
    expected: FAIL

  [:e="nonuniform_struct";op="-i32(i_tmp)%20%3E%200"]
    expected: FAIL

  [:e="nonuniform_struct";op="~i_tmp%20%3E%200"]
    expected: FAIL

  [:e="uniform";op="!b_tmp"]

  [:e="uniform";op="-i32(i_tmp)%20%3E%200"]

  [:e="uniform";op="~i_tmp%20%3E%200"]

  [:e="uniform_index";op="!b_tmp"]

  [:e="uniform_index";op="-i32(i_tmp)%20%3E%200"]

  [:e="uniform_index";op="~i_tmp%20%3E%200"]

  [:e="uniform_struct";op="!b_tmp"]

  [:e="uniform_struct";op="-i32(i_tmp)%20%3E%200"]

  [:e="uniform_struct";op="~i_tmp%20%3E%200"]
