Lines Matching refs:validate_assert
134 #define validate_assert(state, cond) \ macro
144 validate_assert(state, nir_num_components_valid(num_components)); in validate_num_components()
151 validate_assert(state, src->reg.reg != NULL); in validate_reg_src()
155 validate_assert(state, entry); in validate_reg_src()
162 validate_assert(state, state->if_stmt); in validate_reg_src()
166 validate_assert(state, reg_state->where_defined == state->impl && in validate_reg_src()
170 validate_assert(state, src->reg.reg->bit_size & bit_sizes); in validate_reg_src()
172 validate_assert(state, src->reg.reg->num_components == num_components); in validate_reg_src()
174 validate_assert(state, (src->reg.reg->num_array_elems == 0 || in validate_reg_src()
179 validate_assert(state, src->reg.reg->num_array_elems != 0); in validate_reg_src()
180 validate_assert(state, (src->reg.indirect->is_ssa || in validate_reg_src()
194 validate_assert(state, src->ssa != NULL); in validate_ssa_src()
205 validate_assert(state, entry); in validate_ssa_src()
212 validate_assert(state, src->ssa->bit_size & bit_sizes); in validate_ssa_src()
214 validate_assert(state, src->ssa->num_components == num_components); in validate_ssa_src()
224 validate_assert(state, src->parent_instr == state->instr); in validate_src()
226 validate_assert(state, src->parent_if == state->if_stmt); in validate_src()
244 validate_assert(state, src->swizzle[i] < NIR_MAX_VEC_COMPONENTS); in validate_alu_src()
247 validate_assert(state, src->swizzle[i] < num_components); in validate_alu_src()
257 validate_assert(state, dest->reg != NULL); in validate_reg_dest()
259 validate_assert(state, dest->parent_instr == state->instr); in validate_reg_dest()
264 validate_assert(state, entry2); in validate_reg_dest()
269 validate_assert(state, reg_state->where_defined == state->impl && in validate_reg_dest()
273 validate_assert(state, dest->reg->bit_size & bit_sizes); in validate_reg_dest()
275 validate_assert(state, dest->reg->num_components == num_components); in validate_reg_dest()
277 validate_assert(state, (dest->reg->num_array_elems == 0 || in validate_reg_dest()
282 validate_assert(state, dest->reg->num_array_elems != 0); in validate_reg_dest()
283 validate_assert(state, (dest->indirect->is_ssa || dest->indirect->reg.indirect == NULL) && in validate_reg_dest()
292 validate_assert(state, def->index < state->impl->ssa_alloc); in validate_ssa_def()
293 validate_assert(state, !BITSET_TEST(state->ssa_defs_found, def->index)); in validate_ssa_def()
296 validate_assert(state, def->parent_instr == state->instr); in validate_ssa_def()
301 validate_assert(state, src->is_ssa); in validate_ssa_def()
302 validate_assert(state, src->ssa == def); in validate_ssa_def()
306 validate_assert(state, !already_seen); in validate_ssa_def()
311 validate_assert(state, src->is_ssa); in validate_ssa_def()
312 validate_assert(state, src->ssa == def); in validate_ssa_def()
317 validate_assert(state, !already_seen); in validate_ssa_def()
327 validate_assert(state, dest->ssa.bit_size & bit_sizes); in validate_dest()
329 validate_assert(state, dest->ssa.num_components == num_components); in validate_dest()
349 validate_assert(state, !(dest->write_mask & ~((1 << dest_size) - 1))); in validate_alu_dest()
355 validate_assert(state, in validate_alu_dest()
366 validate_assert(state, instr->op < nir_num_opcodes); in validate_alu_instr()
373 validate_assert(state, src_bit_size == nir_alu_type_get_type_size(src_type)); in validate_alu_instr()
375 validate_assert(state, src_bit_size == instr_bit_size); in validate_alu_instr()
382 validate_assert(state, src_bit_size == 16 || src_bit_size == 32 || in validate_alu_instr()
392 validate_assert(state, dest_bit_size == nir_alu_type_get_type_size(dest_type)); in validate_alu_instr()
394 validate_assert(state, dest_bit_size == instr_bit_size); in validate_alu_instr()
401 validate_assert(state, dest_bit_size == 16 || dest_bit_size == 32 || in validate_alu_instr()
412 validate_assert(state, entry); in validate_var_use()
414 validate_assert(state, (nir_function_impl *) entry->data == state->impl); in validate_var_use()
422 validate_assert(state, instr->modes == instr->var->data.mode); in validate_deref_instr()
423 validate_assert(state, instr->type == instr->var->type); in validate_deref_instr()
433 validate_assert(state, util_bitcount(instr->modes) == 1); in validate_deref_instr()
440 validate_assert(state, instr->modes & parent->modes); in validate_deref_instr()
443 validate_assert(state, instr->modes != 0); in validate_deref_instr()
447 validate_assert(state, instr->type); in validate_deref_instr()
449 validate_assert(state, util_is_power_of_two_nonzero(instr->cast.align_mul)); in validate_deref_instr()
450 validate_assert(state, instr->cast.align_offset < instr->cast.align_mul); in validate_deref_instr()
452 validate_assert(state, instr->cast.align_offset == 0); in validate_deref_instr()
456 validate_assert(state, instr->parent.is_ssa); in validate_deref_instr()
467 validate_assert(state, parent_instr->type == nir_instr_type_deref); in validate_deref_instr()
471 validate_assert(state, instr->modes == parent->modes); in validate_deref_instr()
475 validate_assert(state, glsl_type_is_struct_or_ifc(parent->type)); in validate_deref_instr()
476 validate_assert(state, in validate_deref_instr()
478 validate_assert(state, instr->type == in validate_deref_instr()
489 validate_assert(state, glsl_type_is_array(parent->type) || in validate_deref_instr()
494 validate_assert(state, glsl_type_is_array(parent->type) || in validate_deref_instr()
497 validate_assert(state, in validate_deref_instr()
511 validate_assert(state, in validate_deref_instr()
534 validate_assert(state, list_is_empty(&instr->dest.ssa.if_uses)); in validate_deref_instr()
541 validate_assert(state, !(instr->modes & (nir_var_shader_in | in validate_deref_instr()
597 validate_assert(state, dest_bit_size != 0); in validate_intrinsic_instr()
598 validate_assert(state, src_bit_sizes[0] != 0); in validate_intrinsic_instr()
604 validate_assert(state, param_idx < state->impl->function->num_params); in validate_intrinsic_instr()
606 validate_assert(state, instr->num_components == param->num_components); in validate_intrinsic_instr()
614 validate_assert(state, glsl_type_is_vector_or_scalar(src->type) || in validate_intrinsic_instr()
617 validate_assert(state, instr->num_components == in validate_intrinsic_instr()
629 validate_assert(state, glsl_type_is_vector_or_scalar(dst->type)); in validate_intrinsic_instr()
630 validate_assert(state, instr->num_components == in validate_intrinsic_instr()
636 validate_assert(state, !nir_deref_mode_may_be(dst, nir_var_read_only_modes)); in validate_intrinsic_instr()
637 …validate_assert(state, (nir_intrinsic_write_mask(instr) & ~((1 << instr->num_components) - 1)) == … in validate_intrinsic_instr()
644 validate_assert(state, glsl_get_bare_type(dst->type) == in validate_intrinsic_instr()
646 validate_assert(state, !nir_deref_mode_may_be(dst, nir_var_read_only_modes)); in validate_intrinsic_instr()
652 validate_assert(state, bit_size >= 8); in validate_intrinsic_instr()
653 validate_assert(state, (nir_intrinsic_component(instr) + in validate_intrinsic_instr()
660 validate_assert(state, nir_intrinsic_range(instr) != 0); in validate_intrinsic_instr()
669 validate_assert(state, in validate_intrinsic_instr()
671 validate_assert(state, nir_intrinsic_align_offset(instr) < in validate_intrinsic_instr()
684 validate_assert(state, nir_dest_bit_size(instr->dest) >= 8); in validate_intrinsic_instr()
692 validate_assert(state, in validate_intrinsic_instr()
694 validate_assert(state, nir_intrinsic_align_offset(instr) < in validate_intrinsic_instr()
701 validate_assert(state, nir_src_bit_size(instr->src[0]) >= 8); in validate_intrinsic_instr()
706 validate_assert(state, in validate_intrinsic_instr()
739 validate_assert(state, format == PIPE_FORMAT_R32_UINT || in validate_intrinsic_instr()
743 validate_assert(state, nir_dest_bit_size(instr->dest) == in validate_intrinsic_instr()
754 validate_assert(state, format == PIPE_FORMAT_R32_UINT || in validate_intrinsic_instr()
759 validate_assert(state, nir_dest_bit_size(instr->dest) == in validate_intrinsic_instr()
769 validate_assert(state, format == PIPE_FORMAT_COUNT || in validate_intrinsic_instr()
771 validate_assert(state, nir_dest_bit_size(instr->dest) == 32); in validate_intrinsic_instr()
782 validate_assert(state, format == PIPE_FORMAT_COUNT || in validate_intrinsic_instr()
786 validate_assert(state, nir_dest_bit_size(instr->dest) == in validate_intrinsic_instr()
816 validate_assert(state, dest_bit_size & bit_sizes); in validate_intrinsic_instr()
824 validate_assert(state, instr->num_components == 0); in validate_intrinsic_instr()
835 validate_assert(state, !src_type_seen[instr->src[i].src_type]); in validate_tex_instr()
842 validate_assert(state, nir_src_num_components(instr->src[i].src) == in validate_tex_instr()
847 validate_assert(state, nir_src_num_components(instr->src[i].src) == 1); in validate_tex_instr()
851 validate_assert(state, instr->is_shadow); in validate_tex_instr()
852 validate_assert(state, nir_src_num_components(instr->src[i].src) == 1); in validate_tex_instr()
856 validate_assert(state, nir_src_num_components(instr->src[i].src) == in validate_tex_instr()
861 validate_assert(state, instr->op == nir_texop_txb || in validate_tex_instr()
863 validate_assert(state, nir_src_num_components(instr->src[i].src) == 1); in validate_tex_instr()
867 validate_assert(state, instr->op != nir_texop_tex && in validate_tex_instr()
871 validate_assert(state, nir_src_num_components(instr->src[i].src) == 1); in validate_tex_instr()
876 validate_assert(state, nir_src_num_components(instr->src[i].src) == 1); in validate_tex_instr()
881 validate_assert(state, instr->op == nir_texop_txd); in validate_tex_instr()
882 validate_assert(state, nir_src_num_components(instr->src[i].src) == in validate_tex_instr()
888 if (!validate_assert(state, deref)) in validate_tex_instr()
891 validate_assert(state, glsl_type_is_image(deref->type) || in validate_tex_instr()
898 if (!validate_assert(state, deref)) in validate_tex_instr()
901 validate_assert(state, glsl_type_is_sampler(deref->type)); in validate_tex_instr()
908 validate_assert(state, nir_src_num_components(instr->src[i].src) == 1); in validate_tex_instr()
921 validate_assert(state, instr->component == 0); in validate_tex_instr()
924 validate_assert(state, instr->op == nir_texop_tg4); in validate_tex_instr()
925 validate_assert(state, !src_type_seen[nir_tex_src_offset]); in validate_tex_instr()
930 validate_assert(state, in validate_tex_instr()
938 validate_assert(state, instr->num_params == instr->callee->num_params); in validate_call_instr()
974 validate_assert(state, !"Invalid load_const bit size"); in validate_const_value()
976 validate_assert(state, memcmp(val, &cmp_val, sizeof(cmp_val)) == 0); in validate_const_value()
1005 validate_assert(state, exec_list_length(&instr->srcs) == in validate_phi_instr()
1013 validate_assert(state, &instr->instr == nir_block_last_instr(block)); in validate_jump_instr()
1018 validate_assert(state, block->successors[0] == state->impl->end_block); in validate_jump_instr()
1019 validate_assert(state, block->successors[1] == NULL); in validate_jump_instr()
1020 validate_assert(state, instr->target == NULL); in validate_jump_instr()
1021 validate_assert(state, instr->else_target == NULL); in validate_jump_instr()
1025 validate_assert(state, state->impl->structured); in validate_jump_instr()
1026 validate_assert(state, state->loop != NULL); in validate_jump_instr()
1030 validate_assert(state, block->successors[0] == after); in validate_jump_instr()
1032 validate_assert(state, block->successors[1] == NULL); in validate_jump_instr()
1033 validate_assert(state, instr->target == NULL); in validate_jump_instr()
1034 validate_assert(state, instr->else_target == NULL); in validate_jump_instr()
1038 validate_assert(state, state->impl->structured); in validate_jump_instr()
1039 validate_assert(state, state->loop != NULL); in validate_jump_instr()
1042 validate_assert(state, block->successors[0] == first); in validate_jump_instr()
1044 validate_assert(state, block->successors[1] == NULL); in validate_jump_instr()
1045 validate_assert(state, instr->target == NULL); in validate_jump_instr()
1046 validate_assert(state, instr->else_target == NULL); in validate_jump_instr()
1050 validate_assert(state, !state->impl->structured); in validate_jump_instr()
1051 validate_assert(state, instr->target == block->successors[0]); in validate_jump_instr()
1052 validate_assert(state, instr->target != NULL); in validate_jump_instr()
1053 validate_assert(state, instr->else_target == NULL); in validate_jump_instr()
1057 validate_assert(state, !state->impl->structured); in validate_jump_instr()
1058 validate_assert(state, instr->target == block->successors[1]); in validate_jump_instr()
1059 validate_assert(state, instr->else_target == block->successors[0]); in validate_jump_instr()
1061 validate_assert(state, instr->target != NULL); in validate_jump_instr()
1062 validate_assert(state, instr->else_target != NULL); in validate_jump_instr()
1066 validate_assert(state, !"Invalid jump instruction type"); in validate_jump_instr()
1074 validate_assert(state, instr->block == state->block); in validate_instr()
1078 validate_assert(state, _mesa_set_search(state->shader_gc_list, instr)); in validate_instr()
1118 validate_assert(state, !"Invalid ALU instruction type"); in validate_instr()
1130 validate_assert(state, instr->dest.is_ssa); in validate_phi_src()
1135 validate_assert(state, src->src.is_ssa); in validate_phi_src()
1142 validate_assert(state, !"Phi does not have a source corresponding to one " in validate_phi_src()
1211 validate_assert(state, _mesa_set_search(state->blocks, in validate_block_predecessors()
1215 validate_assert(state, in validate_block_predecessors()
1223 validate_assert(state, block->predecessors->entries == 0); in validate_block_predecessors()
1227 validate_assert(state, _mesa_set_search(state->blocks, pred)); in validate_block_predecessors()
1228 validate_assert(state, pred->successors[0] == block || in validate_block_predecessors()
1236 validate_assert(state, block->cf_node.parent == state->parent_node); in validate_block()
1243 validate_assert(state, instr == nir_block_first_instr(block) || in validate_block()
1250 validate_assert(state, block->successors[0] != NULL); in validate_block()
1251 validate_assert(state, block->successors[0] != block->successors[1]); in validate_block()
1255 validate_assert(state, nir_block_ends_in_jump(block)); in validate_block()
1262 validate_assert(state, block->successors[0] == first); in validate_block()
1272 validate_assert(state, block->successors[0] == after); in validate_block()
1273 validate_assert(state, block->successors[1] == NULL); in validate_block()
1278 validate_assert(state, block->successors[0] == state->impl->end_block); in validate_block()
1279 validate_assert(state, block->successors[1] == NULL); in validate_block()
1288 validate_assert(state, block->successors[0] == in validate_block()
1290 validate_assert(state, block->successors[1] == in validate_block()
1294 validate_assert(state, block->successors[0] == in validate_block()
1296 validate_assert(state, block->successors[1] == NULL); in validate_block()
1298 validate_assert(state, in validate_block()
1309 validate_assert(state, block->cf_node.parent == &state->impl->cf_node); in validate_end_block()
1312 validate_assert(state, exec_list_is_empty(&block->instr_list)); in validate_end_block()
1314 validate_assert(state, block->successors[0] == NULL); in validate_end_block()
1315 validate_assert(state, block->successors[1] == NULL); in validate_end_block()
1322 validate_assert(state, state->impl->structured); in validate_if()
1326 validate_assert(state, !exec_node_is_head_sentinel(if_stmt->cf_node.node.prev)); in validate_if()
1328 validate_assert(state, prev_node->type == nir_cf_node_block); in validate_if()
1330 validate_assert(state, !exec_node_is_tail_sentinel(if_stmt->cf_node.node.next)); in validate_if()
1332 validate_assert(state, next_node->type == nir_cf_node_block); in validate_if()
1336 validate_assert(state, !exec_list_is_empty(&if_stmt->then_list)); in validate_if()
1337 validate_assert(state, !exec_list_is_empty(&if_stmt->else_list)); in validate_if()
1357 validate_assert(state, state->impl->structured); in validate_loop()
1359 validate_assert(state, !exec_node_is_head_sentinel(loop->cf_node.node.prev)); in validate_loop()
1361 validate_assert(state, prev_node->type == nir_cf_node_block); in validate_loop()
1363 validate_assert(state, !exec_node_is_tail_sentinel(loop->cf_node.node.next)); in validate_loop()
1365 validate_assert(state, next_node->type == nir_cf_node_block); in validate_loop()
1367 validate_assert(state, !exec_list_is_empty(&loop->body)); in validate_loop()
1385 validate_assert(state, node->parent == state->parent_node); in validate_cf_node()
1408 validate_assert(state, reg->index < state->impl->reg_alloc); in prevalidate_reg_decl()
1409 validate_assert(state, !BITSET_TEST(state->regs_found, reg->index)); in prevalidate_reg_decl()
1437 validate_assert(state, entry); in postvalidate_reg_decl()
1440 validate_assert(state, reg_state->uses->entries == 0); in postvalidate_reg_decl()
1444 validate_assert(state, entry); in postvalidate_reg_decl()
1447 validate_assert(state, reg_state->if_uses->entries == 0); in postvalidate_reg_decl()
1451 validate_assert(state, entry); in postvalidate_reg_decl()
1454 validate_assert(state, reg_state->defs->entries == 0); in postvalidate_reg_decl()
1467 validate_assert(state, c->values[i].u64 == 0); in validate_constant()
1469 validate_assert(state, c->num_elements == glsl_get_length(type)); in validate_constant()
1480 validate_assert(state, !"Invalid type for nir_constant"); in validate_constant()
1492 validate_assert(state, util_is_power_of_two_nonzero(var->data.mode)); in validate_var_decl()
1493 validate_assert(state, var->data.mode & valid_modes); in validate_var_decl()
1510 validate_assert(state, glsl_type_is_struct_or_ifc(without_array)); in validate_var_decl()
1511 validate_assert(state, var->num_members == glsl_get_length(without_array)); in validate_var_decl()
1512 validate_assert(state, var->members != NULL); in validate_var_decl()
1516 validate_assert(state, glsl_type_is_array(var->type)); in validate_var_decl()
1538 validate_assert(state, def->index < state->impl->ssa_alloc); in validate_ssa_def_dominance()
1539 validate_assert(state, !BITSET_TEST(state->ssa_defs_found, def->index)); in validate_ssa_def_dominance()
1553 validate_assert(state, src->ssa->index < state->impl->ssa_alloc); in validate_src_dominance()
1554 validate_assert(state, BITSET_TEST(state->ssa_defs_found, in validate_src_dominance()
1557 validate_assert(state, nir_block_dominates(src->ssa->parent_instr->block, in validate_src_dominance()
1575 validate_assert(state, in validate_ssa_dominance()
1599 validate_assert(state, impl->function->impl == impl); in validate_function_impl()
1600 validate_assert(state, impl->cf_node.parent == NULL); in validate_function_impl()
1602 validate_assert(state, exec_list_is_empty(&impl->end_block->instr_list)); in validate_function_impl()
1603 validate_assert(state, impl->end_block->successors[0] == NULL); in validate_function_impl()
1604 validate_assert(state, impl->end_block->successors[1] == NULL); in validate_function_impl()
1632 validate_assert(state, !exec_list_is_empty(&impl->body)); in validate_function_impl()
1642 validate_assert(state, state->ssa_srcs->entries == 0); in validate_function_impl()
1658 validate_assert(state, func->impl->function == func); in validate_function()