📄 cg6tec.h
字号:
typedef enum { L_TEC_ACC_LT_FALSE = 0, L_TEC_ACC_LT_TRUE = 1 } l_tec_clip_acc_lt_t;typedef enum { L_TEC_ACC_INSIDE_FALSE = 0, L_TEC_ACC_INSIDE_TRUE = 1 } l_tec_clip_acc_inside_t;typedef enum { L_TEC_ACC_GT_FALSE = 0, L_TEC_ACC_GT_TRUE = 1 } l_tec_clip_acc_gt_t;typedef enum { L_TEC_LT_FALSE = 0, L_TEC_LT_TRUE = 1 } l_tec_clip_lt_t;typedef enum { L_TEC_GT_FALSE = 0, L_TEC_GT_TRUE = 1 } l_tec_clip_gt_t;typedef enum { L_TEC_CLIP_OFF = 0, L_TEC_CLIP_ON = 1 } l_tec_clip_enable_t;typedef struct l_tec_clip { /* big assumption here is compiler assigns bit fields left to right */ l_tec_clip_exception_t l_tec_clip_exception : 1; l_tec_clip_hidden_t l_tec_clip_hidden : 1; l_tec_clip_u_intersect_t l_tec_clip_intersect : 1; l_tec_clip_visible_t l_tec_clip_visible : 1; l_tec_unused_t l_tec_clip_unused1 : 3; /* unused */ l_tec_clip_enable_t l_tec_clip_enable : 1; l_tec_clip_acc_backside_t l_tec_clip_acc_z_backside : 1; l_tec_clip_acc_lt_t l_tec_clip_acc_z_lt_front : 1; l_tec_clip_acc_inside_t l_tec_clip_acc_z_inside : 1; l_tec_clip_acc_gt_t l_tec_clip_acc_z_gt_back : 1; l_tec_clip_lt_t l_tec_clip_z_lt_front : 1; l_tec_clip_gt_t l_tec_clip_z_gt_back : 1; l_tec_clip_enable_t l_tec_clip_front : 1; l_tec_clip_enable_t l_tec_clip_back : 1; l_tec_clip_acc_backside_t l_tec_clip_acc_y_backside : 1; l_tec_clip_acc_lt_t l_tec_clip_acc_y_lt_bottom : 1; l_tec_clip_acc_inside_t l_tec_clip_acc_y_inside : 1; l_tec_clip_acc_gt_t l_tec_clip_acc_y_gt_top : 1; l_tec_clip_lt_t l_tec_clip_y_lt_bottom : 1; l_tec_clip_gt_t l_tec_clip_y_gt_top : 1; l_tec_clip_enable_t l_tec_clip_bottom : 1; l_tec_clip_enable_t l_tec_clip_top : 1; l_tec_clip_acc_backside_t l_tec_clip_acc_x_backside : 1; l_tec_clip_acc_lt_t l_tec_clip_acc_x_lt_left : 1; l_tec_clip_acc_inside_t l_tec_clip_acc_x_inside : 1; l_tec_clip_acc_gt_t l_tec_clip_acc_x_gt_right : 1; l_tec_clip_lt_t l_tec_clip_x_lt_left : 1; l_tec_clip_gt_t l_tec_clip_x_gt_right : 1; l_tec_clip_enable_t l_tec_clip_left : 1; l_tec_clip_enable_t l_tec_clip_right : 1;} l_tec_clip_t;/* * TEC VDC_MATRIX register bits. */typedef enum { L_TEC_VDC_INT = 0 , L_TEC_VDC_FIXED = 1 , L_TEC_VDC_FLOAT = 2, L_TEC_VDC_INTRNL0 = 4 , L_TEC_VDC_INTRNL1 = 5,}l_tec_vdc_type_t;typedef enum { L_TEC_VDC_2D = 0, L_TEC_VDC_3D = 1 }l_tec_vdc_k_t;typedef enum { L_TEC_VDC_MUL_OFF = 0 , L_TEC_VDC_MUL_ON = 1 }l_tec_vdc_mul_t;typedef struct l_tec_vdc { l_tec_unused_t l_tec_vdc_unused1 : 16; /* NOT USED */ l_tec_vdc_type_t l_tec_vdc_type : 3; /* register access type */ l_tec_vdc_mul_t l_tec_vdc_mul : 1; /* enable VDC multiply */ l_tec_unused_t l_tec_vdc_unused2 : 3; /* NOT USED */ l_tec_vdc_k_t l_tec_vdc_k : 1; /* 2D/3D format */ l_tec_unused_t l_tec_vdc_unused3 : 2; /* NOT USED */ unsigned l_tec_vdc_index : 6; /* matrix start data reg. */ } l_tec_vdc_t;/* * TEC COMMAND register bits. */typedef enum { L_TEC_CMD_M1 = 0, L_TEC_CMD_M2 = 1, L_TEC_CMD_M3 = 2, L_TEC_CMD_M4 = 3}l_tec_cmd_m_t;typedef enum { L_TEC_CMD_N1 = 0, L_TEC_CMD_N2 = 1, L_TEC_CMD_N3 = 2, L_TEC_CMD_N4 = 3}l_tec_cmd_n_t;typedef enum { L_TEC_CMD_I_POS = 0, L_TEC_CMD_I_NEG = 1}l_tec_cmd_i_t;typedef struct l_tec_cmd { l_tec_cmd_m_t l_tec_cmd_m : 2; /* matrix A columns */ l_tec_cmd_n_t l_tec_cmd_n : 2; /* matrix B columns */ l_tec_cmd_i_t l_tec_cmd_i11 : 1; /* identity diagonal sign */ l_tec_cmd_i_t l_tec_cmd_i22 : 1; /* identity diagonal sign */ l_tec_cmd_i_t l_tec_cmd_i33 : 1; /* identity diagonal sign */ l_tec_cmd_i_t l_tec_cmd_i44 : 1; /* identity diagonal sign */ l_tec_unused_t l_tec_cmd_unused1 : 2; /* NOT USED */ unsigned l_tec_cmd_Aindex : 6; /* A matrix start data reg. */ l_tec_unused_t l_tec_cmd_unused2 : 2; /* NOT USED */ unsigned l_tec_cmd_Bindex : 6; /* B matrix start data reg. */ l_tec_unused_t l_tec_cmd_unused3 : 2; /* NOT USED */ unsigned l_tec_cmd_Cindex : 6; /* C matrix start data reg. */} l_tec_cmd_t;/* * TEC registers defined as a structure. */struct tec {#ifdef tec_structures struct l_tec_mv l_tec_mv; /* 0 */ struct l_tec_clip l_tec_clip; /* 1 */ struct l_tec_vdc l_tec_vdc; /* 2 */ u_int l_tec_pad_3[4-3]; struct l_tec_cmd l_tec_command1; /* 4 */ struct l_tec_cmd l_tec_command2; /* 5 */ struct l_tec_cmd l_tec_command3; /* 6 */ struct l_tec_cmd l_tec_command4; /* 7 */#else u_int l_tec_mv; /* 0 */ u_int l_tec_clip; /* 1 */ u_int l_tec_vdc; /* 2 */ u_int l_tec_pad_3[4-3]; u_int l_tec_command1; /* 4 */ u_int l_tec_command2; /* 5 */ u_int l_tec_command3; /* 6 */ u_int l_tec_command4; /* 7 */#endif u_int l_tec_pad_8[64-8]; u_int l_tec_data00; /* 64 */ u_int l_tec_data01; /* 65 */ u_int l_tec_data02; /* 66 */ u_int l_tec_data03; /* 67 */ u_int l_tec_data04; /* 68 */ u_int l_tec_data05; /* 69 */ u_int l_tec_data06; /* 70 */ u_int l_tec_data07; /* 71 */ u_int l_tec_data08; /* 72 */ u_int l_tec_data09; /* 73 */ u_int l_tec_data10; /* 74 */ u_int l_tec_data11; /* 75 */ u_int l_tec_data12; /* 76 */ u_int l_tec_data13; /* 77 */ u_int l_tec_data14; /* 78 */ u_int l_tec_data15; /* 79 */ u_int l_tec_data16; /* 80 */ u_int l_tec_data17; /* 81 */ u_int l_tec_data18; /* 82 */ u_int l_tec_data19; /* 83 */ u_int l_tec_data20; /* 84 */ u_int l_tec_data21; /* 85 */ u_int l_tec_data22; /* 86 */ u_int l_tec_data23; /* 87 */ u_int l_tec_data24; /* 88 */ u_int l_tec_data25; /* 89 */ u_int l_tec_data26; /* 90 */ u_int l_tec_data27; /* 91 */ u_int l_tec_data28; /* 92 */ u_int l_tec_data29; /* 93 */ u_int l_tec_data30; /* 94 */ u_int l_tec_data31; /* 95 */ u_int l_tec_data32; /* 96 */ u_int l_tec_data33; /* 97 */ u_int l_tec_data34; /* 98 */ u_int l_tec_data35; /* 99 */ u_int l_tec_data36; /* 100 */ u_int l_tec_data37; /* 101 */ u_int l_tec_data38; /* 102 */ u_int l_tec_data39; /* 103 */ u_int l_tec_data40; /* 104 */ u_int l_tec_data41; /* 105 */ u_int l_tec_data42; /* 106 */ u_int l_tec_data43; /* 107 */ u_int l_tec_data44; /* 108 */ u_int l_tec_data45; /* 109 */ u_int l_tec_data46; /* 110 */ u_int l_tec_data47; /* 111 */ u_int l_tec_data48; /* 112 */ u_int l_tec_data49; /* 113 */ u_int l_tec_data50; /* 114 */ u_int l_tec_data51; /* 115 */ u_int l_tec_data52; /* 116 */ u_int l_tec_data53; /* 117 */ u_int l_tec_data54; /* 118 */ u_int l_tec_data55; /* 119 */ u_int l_tec_data56; /* 120 */ u_int l_tec_data57; /* 121 */ u_int l_tec_data58; /* 122 */ u_int l_tec_data59; /* 123 */ u_int l_tec_data60; /* 124 */ u_int l_tec_data61; /* 125 */ u_int l_tec_data62; /* 126 */ u_int l_tec_data63; /* 127 */ u_int l_tec_pad_128[512-128]; u_int l_tec_ipointabsx; /* 512 */ u_int l_tec_ipointabsy; /* 513 */ u_int l_tec_ipointabsz; /* 514 */ u_int l_tec_ipointabsw; /* 515 */ u_int l_tec_ipointrelx; /* 516 */ u_int l_tec_ipointrely; /* 517 */ u_int l_tec_ipointrelz; /* 518 */ u_int l_tec_ipointrelw; /* 519 */ u_int l_tec_pad_520[528-520]; u_int l_tec_ilineabsx; /* 528 */ u_int l_tec_ilineabsy; /* 529 */ u_int l_tec_ilineabsz; /* 530 */ u_int l_tec_ilineabsw; /* 531 */ u_int l_tec_ilinerelx; /* 532 */ u_int l_tec_ilinerely; /* 533 */ u_int l_tec_ilinerelz; /* 534 */ u_int l_tec_ilinerelw; /* 535 */ u_int l_tec_pad_536[544-536]; u_int l_tec_itriabsx; /* 544 */ u_int l_tec_itriabsy; /* 545 */ u_int l_tec_itriabsz; /* 546 */ u_int l_tec_itriabsw; /* 547 */ u_int l_tec_itrirelx; /* 548 */ u_int l_tec_itrirely; /* 549 */ u_int l_tec_itrirelz; /* 550 */ u_int l_tec_itrirelw; /* 551 */ u_int l_tec_pad_552[560-552]; u_int l_tec_iquadabsx; /* 560 */ u_int l_tec_iquadabsy; /* 561 */ u_int l_tec_iquadabsz; /* 562 */ u_int l_tec_iquadabsw; /* 563 */ u_int l_tec_iquadrelx; /* 564 */ u_int l_tec_iquadrely; /* 565 */ u_int l_tec_iquadrelz; /* 566 */ u_int l_tec_iquadrelw; /* 567 */ u_int l_tec_pad_568[576-568]; u_int l_tec_irectabsx; /* 576 */ u_int l_tec_irectabsy; /* 577 */ u_int l_tec_irectabsz; /* 578 */ u_int l_tec_irectabsw; /* 579 */ u_int l_tec_irectrelx; /* 580 */ u_int l_tec_irectrely; /* 581 */ u_int l_tec_irectrelz; /* 582 */ u_int l_tec_irectrelw; /* 583 */ u_int l_tec_pad_584[640-584]; u_int l_tec_bpointabsx; /* 640 */ u_int l_tec_bpointabsy; /* 641 */ u_int l_tec_bpointabsz; /* 642 */ u_int l_tec_bpointabsw; /* 643 */ u_int l_tec_bpointrelx; /* 644 */ u_int l_tec_bpointrely; /* 645 */ u_int l_tec_bpointrelz; /* 646 */ u_int l_tec_bpointrelw; /* 647 */ u_int l_tec_pad_648[656-648]; u_int l_tec_blineabsx; /* 656 */ u_int l_tec_blineabsy; /* 657 */ u_int l_tec_blineabsz; /* 658 */ u_int l_tec_blineabsw; /* 659 */ u_int l_tec_blinerelx; /* 660 */ u_int l_tec_blinerely; /* 661 */ u_int l_tec_blinerelz; /* 662 */ u_int l_tec_blinerelw; /* 663 */ u_int l_tec_pad_664[672-664]; u_int l_tec_btriabsx; /* 672 */ u_int l_tec_btriabsy; /* 673 */ u_int l_tec_btriabsz; /* 674 */ u_int l_tec_btriabsw; /* 675 */ u_int l_tec_btrirelx; /* 676 */ u_int l_tec_btrirely; /* 677 */ u_int l_tec_btrirelz; /* 678 */ u_int l_tec_btrirelw; /* 679 */ u_int l_tec_pad_680[688-680]; u_int l_tec_bquadabsx; /* 688 */ u_int l_tec_bquadabsy; /* 689 */ u_int l_tec_bquadabsz; /* 690 */ u_int l_tec_bquadabsw; /* 691 */ u_int l_tec_bquadrelx; /* 692 */ u_int l_tec_bquadrely; /* 693 */ u_int l_tec_bquadrelz; /* 694 */ u_int l_tec_bquadrelw; /* 695 */ u_int l_tec_pad_696[704-696]; u_int l_tec_brectabsx; /* 704 */ u_int l_tec_brectabsy; /* 705 */ u_int l_tec_brectabsz; /* 706 */ u_int l_tec_brectabsw; /* 707 */ u_int l_tec_brectrelx; /* 708 */ u_int l_tec_brectrely; /* 709 */ u_int l_tec_brectrelz; /* 710 */ u_int l_tec_brectrelw; /* 711 */ u_int l_tec_pad_712[768-712]; u_int l_tec_fpointabsx; /* 768 */ u_int l_tec_fpointabsy; /* 769 */ u_int l_tec_fpointabsz; /* 770 */ u_int l_tec_fpointabsw; /* 771 */ u_int l_tec_fpointrelx; /* 772 */ u_int l_tec_fpointrely; /* 773 */ u_int l_tec_fpointrelz; /* 774 */ u_int l_tec_fpointrelw; /* 775 */ u_int l_tec_pad_776[784-776]; u_int l_tec_flineabsx; /* 784 */ u_int l_tec_flineabsy; /* 785 */ u_int l_tec_flineabsz; /* 786 */ u_int l_tec_flineabsw; /* 787 */ u_int l_tec_flinerelx; /* 788 */ u_int l_tec_flinerely; /* 789 */ u_int l_tec_flinerelz; /* 790 */ u_int l_tec_flinerelw; /* 791 */ u_int l_tec_pad_792[800-792]; u_int l_tec_ftriabsx; /* 800 */ u_int l_tec_ftriabsy; /* 801 */ u_int l_tec_ftriabsz; /* 802 */ u_int l_tec_ftriabsw; /* 803 */ u_int l_tec_ftrirelx; /* 804 */ u_int l_tec_ftrirely; /* 805 */ u_int l_tec_ftrirelz; /* 806 */ u_int l_tec_ftrirelw; /* 807 */ u_int l_tec_pad_808[816-808]; u_int l_tec_fquadabsx; /* 816 */ u_int l_tec_fquadabsy; /* 817 */ u_int l_tec_fquadabsz; /* 818 */ u_int l_tec_fquadabsw; /* 819 */ u_int l_tec_fquadrelx; /* 820 */ u_int l_tec_fquadrely; /* 821 */ u_int l_tec_fquadrelz; /* 822 */ u_int l_tec_fquadrelw; /* 823 */ u_int l_tec_pad_824[832-824]; u_int l_tec_frectabsx; /* 832 */ u_int l_tec_frectabsy; /* 833 */ u_int l_tec_frectabsz; /* 834 */ u_int l_tec_frectabsw; /* 835 */ u_int l_tec_frectrelx; /* 836 */ u_int l_tec_frectrely; /* 837 */ u_int l_tec_frectrelz; /* 838 */ u_int l_tec_frectrelw; /* 839 */};#define NUM_TEC_REGS (sizeof(struct l_tec)/sizeof(u_int))#endif !cg6tec_DEFINED
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -