Lines Matching defs:semantic
97 * to the semantic name string. Then these strings are dumped into the stream.
343 /* copy the semantic name */
370 struct semantic_info *semantic) {
377 for (unsigned i = 0; i < semantic->rows; ++i)
378 flattened_semantics[i] = dxil_get_metadata_int32(mod, semantic->index + i);
381 SV_params_nodes[1] = dxil_get_metadata_string(mod, semantic->name); // Element name
382 SV_params_nodes[2] = dxil_get_metadata_int8(mod, semantic->sig_comp_type); // Element type
383 SV_params_nodes[3] = dxil_get_metadata_int8(mod, (int8_t)semantic->kind); // Effective system value
385 semantic->rows); // Semantic index vector
386 SV_params_nodes[5] = dxil_get_metadata_int8(mod, semantic->interpolation); // Interpolation mode
387 SV_params_nodes[6] = dxil_get_metadata_int32(mod, semantic->rows); // Number of rows
388 SV_params_nodes[7] = dxil_get_metadata_int8(mod, semantic->cols); // Number of columns
389 SV_params_nodes[8] = dxil_get_metadata_int32(mod, semantic->start_row); // Element packing start row
390 SV_params_nodes[9] = dxil_get_metadata_int8(mod, semantic->start_col); // Element packing start column
398 struct semantic_info *semantic,
404 elm->semantic_index = semantic->index + row;
405 elm->system_value = (uint32_t) prog_semantic_from_kind(semantic->kind);
406 elm->comp_type = (uint32_t) semantic->comp_type;
407 elm->reg = semantic->start_row + row;
409 assert(semantic->cols + semantic->start_col <= 4);
410 elm->mask = (uint8_t) (((1 << semantic->cols) - 1) << semantic->start_col);
417 struct semantic_info *semantic, struct dxil_module *mod)
420 psv_elm->rows = semantic->rows;
421 if (semantic->start_row >= 0) {
422 assert(semantic->start_row < 256);
423 psv_elm->start_row = semantic->start_row;
424 psv_elm->cols_and_start = (1u << 6) | (semantic->start_col << 4) | semantic->cols;
433 psv_elm->cols_and_start = (semantic->start_col << 4) | semantic->cols;
435 psv_elm->semantic_kind = (uint8_t)semantic->kind;
436 psv_elm->component_type = semantic->comp_type; //`??
437 psv_elm->interpolation_mode = semantic->interpolation;
441 if (semantic->kind == DXIL_SEM_ARBITRARY && strlen(semantic->name)) {
443 copy_semantic_name_to_string(mod->sem_string_table, semantic->name);
451 append_semantic_index_to_table(&mod->sem_index_table, semantic->index, semantic->rows);
458 struct semantic_info *semantic,
464 *io = fill_SV_param_nodes(mod, id, semantic);
465 for (unsigned i = 0; i < semantic->rows; ++i)
466 fill_signature_element(&elm[i], semantic, i);
467 return fill_psv_signature_element(psv_elm, semantic, mod);
478 struct semantic_info semantic = {0};
479 get_semantics(var, &semantic, vulkan);
480 mod->inputs[num_inputs].sysvalue = semantic.sysvalue_name;
481 *row_iter = get_additional_semantic_info(s, var, &semantic, *row_iter, is_gs_shader);
484 semantic.name);
485 mod->inputs[num_inputs].num_elements = semantic.rows;
489 if (!fill_io_signature(mod, num_inputs, &semantic,
494 semantic.start_row + semantic.rows);
497 semantic.kind == DXIL_SEM_SAMPLE_INDEX ||
498 semantic.interpolation == DXIL_INTERP_LINEAR_SAMPLE ||
499 semantic.interpolation == DXIL_INTERP_LINEAR_NOPERSPECTIVE_SAMPLE;
565 struct semantic_info semantic = {0};
568 get_semantic_ps_outname(var, &semantic);
571 get_semantic_name(var, &semantic, var->type, vulkan);
574 next_row = get_additional_semantic_info(s, var, &semantic, next_row, false);
576 mod->info.has_out_position |= semantic.kind== DXIL_SEM_POSITION;
577 mod->info.has_out_depth |= semantic.kind == DXIL_SEM_DEPTH;
580 semantic.name);
581 mod->outputs[num_outputs].num_elements = semantic.rows;
586 if (!fill_io_signature(mod, num_outputs, &semantic,
597 semantic.start_row + semantic.rows);