📄 brw_structs.h
字号:
GLuint clamp_post_alpha_blend:1; GLuint clamp_pre_alpha_blend:1; GLuint clamp_range:2; GLuint pad0:11; GLuint y_dither_offset:2; GLuint x_dither_offset:2; GLuint dest_blend_factor:5; GLuint src_blend_factor:5; GLuint blend_function:3; } cc6; struct { union { GLfloat f; GLubyte ub[4]; } alpha_ref; } cc7;};struct brw_sf_unit_state{ struct thread0 thread0; struct thread1 thread1; struct thread2 thread2; struct thread3 thread3; struct { GLuint pad0:10; GLuint stats_enable:1; GLuint nr_urb_entries:7; GLuint pad1:1; GLuint urb_entry_allocation_size:5; GLuint pad2:1; GLuint max_threads:6; GLuint pad3:1; } thread4; struct { GLuint front_winding:1; GLuint viewport_transform:1; GLuint pad0:3; GLuint sf_viewport_state_offset:27; /* Offset from GENERAL_STATE_BASE */ } sf5; struct { GLuint pad0:9; GLuint dest_org_vbias:4; GLuint dest_org_hbias:4; GLuint scissor:1; GLuint disable_2x2_trifilter:1; GLuint disable_zero_pix_trifilter:1; GLuint point_rast_rule:2; GLuint line_endcap_aa_region_width:2; GLuint line_width:4; GLuint fast_scissor_disable:1; GLuint cull_mode:2; GLuint aa_enable:1; } sf6; struct { GLuint point_size:11; GLuint use_point_size_state:1; GLuint subpixel_precision:1; GLuint sprite_point:1; GLuint pad0:10; GLuint aa_line_distance_mode:1; GLuint trifan_pv:2; GLuint linestrip_pv:2; GLuint tristrip_pv:2; GLuint line_last_pixel_enable:1; } sf7;};struct brw_gs_unit_state{ struct thread0 thread0; struct thread1 thread1; struct thread2 thread2; struct thread3 thread3; struct { GLuint pad0:10; GLuint stats_enable:1; GLuint nr_urb_entries:7; GLuint pad1:1; GLuint urb_entry_allocation_size:5; GLuint pad2:1; GLuint max_threads:5; GLuint pad3:2; } thread4; struct { GLuint sampler_count:3; GLuint pad0:2; GLuint sampler_state_pointer:27; } gs5; struct { GLuint max_vp_index:4; GLuint pad0:12; GLuint svbi_post_inc_value:10; GLuint pad1:1; GLuint svbi_post_inc_enable:1; GLuint svbi_payload:1; GLuint discard_adjaceny:1; GLuint reorder_enable:1; GLuint pad2:1; } gs6;};struct brw_vs_unit_state{ struct thread0 thread0; struct thread1 thread1; struct thread2 thread2; struct thread3 thread3; struct { GLuint pad0:10; GLuint stats_enable:1; GLuint nr_urb_entries:7; GLuint pad1:1; GLuint urb_entry_allocation_size:5; GLuint pad2:1; GLuint max_threads:6; GLuint pad3:1; } thread4; struct { GLuint sampler_count:3; GLuint pad0:2; GLuint sampler_state_pointer:27; } vs5; struct { GLuint vs_enable:1; GLuint vert_cache_disable:1; GLuint pad0:30; } vs6;};struct brw_wm_unit_state{ struct thread0 thread0; struct thread1 thread1; struct thread2 thread2; struct thread3 thread3; struct { GLuint stats_enable:1; GLuint depth_buffer_clear:1; GLuint sampler_count:3; GLuint sampler_state_pointer:27; } wm4; struct { GLuint enable_8_pix:1; GLuint enable_16_pix:1; GLuint enable_32_pix:1; GLuint enable_con_32_pix:1; GLuint enable_con_64_pix:1; GLuint pad0:5; GLuint legacy_global_depth_bias:1; GLuint line_stipple:1; GLuint depth_offset:1; GLuint polygon_stipple:1; GLuint line_aa_region_width:2; GLuint line_endcap_aa_region_width:2; GLuint early_depth_test:1; GLuint thread_dispatch_enable:1; GLuint program_uses_depth:1; GLuint program_computes_depth:1; GLuint program_uses_killpixel:1; GLuint legacy_line_rast: 1; GLuint transposed_urb_read_enable:1; GLuint max_threads:7; } wm5; GLfloat global_depth_offset_constant; GLfloat global_depth_offset_scale; };struct brw_sampler_default_color { GLfloat color[4];};struct brw_sampler_state{ struct { GLuint shadow_function:3; GLuint lod_bias:11; GLuint min_filter:3; GLuint mag_filter:3; GLuint mip_filter:2; GLuint base_level:5; GLuint pad:1; GLuint lod_preclamp:1; GLuint default_color_mode:1; GLuint pad0:1; GLuint disable:1; } ss0; struct { GLuint r_wrap_mode:3; GLuint t_wrap_mode:3; GLuint s_wrap_mode:3; GLuint pad:3; GLuint max_lod:10; GLuint min_lod:10; } ss1; struct { GLuint pad:5; GLuint default_color_pointer:27; } ss2; struct { GLuint pad:19; GLuint max_aniso:3; GLuint chroma_key_mode:1; GLuint chroma_key_index:2; GLuint chroma_key_enable:1; GLuint monochrome_filter_width:3; GLuint monochrome_filter_height:3; } ss3;};struct brw_clipper_viewport{ GLfloat xmin; GLfloat xmax; GLfloat ymin; GLfloat ymax; };struct brw_cc_viewport{ GLfloat min_depth; GLfloat max_depth; };struct brw_sf_viewport{ struct { GLfloat m00; GLfloat m11; GLfloat m22; GLfloat m30; GLfloat m31; GLfloat m32; } viewport; /* scissor coordinates are inclusive */ struct { GLshort xmin; GLshort ymin; GLshort xmax; GLshort ymax; } scissor;};/* Documented in the subsystem/shared-functions/sampler chapter... */struct brw_surface_state{ struct { GLuint cube_pos_z:1; GLuint cube_neg_z:1; GLuint cube_pos_y:1; GLuint cube_neg_y:1; GLuint cube_pos_x:1; GLuint cube_neg_x:1; GLuint pad:4; GLuint mipmap_layout_mode:1; GLuint vert_line_stride_ofs:1; GLuint vert_line_stride:1; GLuint color_blend:1; GLuint writedisable_blue:1; GLuint writedisable_green:1; GLuint writedisable_red:1; GLuint writedisable_alpha:1; GLuint surface_format:9; GLuint data_return_format:1; GLuint pad0:1; GLuint surface_type:3; } ss0; struct { GLuint base_addr; } ss1; struct { GLuint pad:2; GLuint mip_count:4; GLuint width:13; GLuint height:13; } ss2; struct { GLuint tile_walk:1; GLuint tiled_surface:1; GLuint pad:1; GLuint pitch:18; GLuint depth:11; } ss3; struct { GLuint multisample_position_palette_index:3; GLuint pad1:1; GLuint num_multisamples:3; GLuint pad0:1; GLuint render_target_view_extent:9; GLuint min_array_elt:11; GLuint min_lod:4; } ss4; struct { GLuint pad1:16; GLuint llc_mapping:1; GLuint mlc_mapping:1; GLuint gfdt:1; GLuint gfdt_src:1; GLuint y_offset:4; GLuint pad0:1; GLuint x_offset:7; } ss5; /* NEW in Integrated Graphics Device */};struct brw_vertex_buffer_state{ struct { GLuint pitch:11; GLuint pad:15; GLuint access_type:1; GLuint vb_index:5; } vb0; GLuint start_addr; GLuint max_index; #if 1 GLuint instance_data_step_rate; /* not included for sequential/random vertices? */#endif};#define BRW_VBP_MAX 17struct brw_vb_array_state { struct header header; struct brw_vertex_buffer_state vb[BRW_VBP_MAX];};struct brw_vertex_element_state{ struct { GLuint src_offset:11; GLuint pad:5; GLuint src_format:9; GLuint pad0:1; GLuint valid:1; GLuint vertex_buffer_index:5; } ve0; struct { GLuint dst_offset:8; GLuint pad:8; GLuint vfcomponent3:4; GLuint vfcomponent2:4; GLuint vfcomponent1:4; GLuint vfcomponent0:4; } ve1;};#define BRW_VEP_MAX 18struct brw_vertex_element_packet { struct header header; struct brw_vertex_element_state ve[BRW_VEP_MAX]; /* note: less than _TNL_ATTRIB_MAX */};struct brw_urb_immediate { GLuint opcode:4; GLuint offset:6; GLuint swizzle_control:2; GLuint pad:1; GLuint allocate:1; GLuint used:1; GLuint complete:1; GLuint response_length:4; GLuint msg_length:4; GLuint msg_target:4; GLuint pad1:3; GLuint end_of_thread:1;};/* Instruction format for the execution units: */ struct brw_instruction{ struct { GLuint opcode:7; GLuint pad:1; GLuint access_mode:1; GLuint mask_control:1; GLuint dependency_control:2; GLuint compression_control:2; GLuint thread_control:2; GLuint predicate_control:4; GLuint predicate_inverse:1; GLuint execution_size:3; GLuint destreg__conditonalmod:4; /* destreg - send, conditionalmod - others */ GLuint pad0:2; GLuint debug_control:1; GLuint saturate:1; } header; union { struct { GLuint dest_reg_file:2; GLuint dest_reg_type:3; GLuint src0_reg_file:2; GLuint src0_reg_type:3; GLuint src1_reg_file:2; GLuint src1_reg_type:3; GLuint pad:1; GLuint dest_subreg_nr:5; GLuint dest_reg_nr:8; GLuint dest_horiz_stride:2; GLuint dest_address_mode:1; } da1; struct { GLuint dest_reg_file:2; GLuint dest_reg_type:3; GLuint src0_reg_file:2; GLuint src0_reg_type:3; GLuint pad:6; GLint dest_indirect_offset:10; /* offset against the deref'd address reg */ GLuint dest_subreg_nr:3; /* subnr for the address reg a0.x */ GLuint dest_horiz_stride:2; GLuint dest_address_mode:1; } ia1; struct { GLuint dest_reg_file:2; GLuint dest_reg_type:3; GLuint src0_reg_file:2; GLuint src0_reg_type:3; GLuint src1_reg_file:2; GLuint src1_reg_type:3; GLuint pad0:1; GLuint dest_writemask:4; GLuint dest_subreg_nr:1; GLuint dest_reg_nr:8; GLuint pad1:2; GLuint dest_address_mode:1; } da16; struct { GLuint dest_reg_file:2; GLuint dest_reg_type:3; GLuint src0_reg_file:2; GLuint src0_reg_type:3; GLuint pad0:6; GLuint dest_writemask:4; GLint dest_indirect_offset:6; GLuint dest_subreg_nr:3; GLuint pad1:2; GLuint dest_address_mode:1; } ia16; } bits1; union { struct { GLuint src0_subreg_nr:5; GLuint src0_reg_nr:8; GLuint src0_abs:1; GLuint src0_negate:1; GLuint src0_address_mode:1; GLuint src0_horiz_stride:2; GLuint src0_width:3; GLuint src0_vert_stride:4; GLuint flag_reg_nr:1; GLuint pad:6; } da1; struct { GLint src0_indirect_offset:10; GLuint src0_subreg_nr:3; GLuint src0_abs:1; GLuint src0_negate:1; GLuint src0_address_mode:1; GLuint src0_horiz_stride:2; GLuint src0_width:3; GLuint src0_vert_stride:4; GLuint flag_reg_nr:1; GLuint pad:6; } ia1; struct { GLuint src0_swz_x:2; GLuint src0_swz_y:2; GLuint src0_subreg_nr:1; GLuint src0_reg_nr:8; GLuint src0_abs:1; GLuint src0_negate:1; GLuint src0_address_mode:1; GLuint src0_swz_z:2; GLuint src0_swz_w:2; GLuint pad0:1; GLuint src0_vert_stride:4; GLuint flag_reg_nr:1; GLuint pad1:6; } da16; struct { GLuint src0_swz_x:2; GLuint src0_swz_y:2; GLint src0_indirect_offset:6; GLuint src0_subreg_nr:3; GLuint src0_abs:1; GLuint src0_negate:1; GLuint src0_address_mode:1; GLuint src0_swz_z:2; GLuint src0_swz_w:2; GLuint pad0:1; GLuint src0_vert_stride:4; GLuint flag_reg_nr:1; GLuint pad1:6; } ia16; } bits2; union { struct { GLuint src1_subreg_nr:5; GLuint src1_reg_nr:8; GLuint src1_abs:1; GLuint src1_negate:1; GLuint pad:1; GLuint src1_horiz_stride:2; GLuint src1_width:3; GLuint src1_vert_stride:4; GLuint pad0:7; } da1; struct { GLuint src1_swz_x:2; GLuint src1_swz_y:2; GLuint src1_subreg_nr:1; GLuint src1_reg_nr:8; GLuint src1_abs:1; GLuint src1_negate:1; GLuint pad0:1; GLuint src1_swz_z:2; GLuint src1_swz_w:2; GLuint pad1:1; GLuint src1_vert_stride:4; GLuint pad2:7; } da16; struct { GLint src1_indirect_offset:10; GLuint src1_subreg_nr:3; GLuint src1_abs:1; GLuint src1_negate:1; GLuint pad0:1; GLuint src1_horiz_stride:2; GLuint src1_width:3; GLuint src1_vert_stride:4; GLuint flag_reg_nr:1; GLuint pad1:6; } ia1; struct { GLuint src1_swz_x:2; GLuint src1_swz_y:2; GLint src1_indirect_offset:6; GLuint src1_subreg_nr:3; GLuint src1_abs:1; GLuint src1_negate:1; GLuint pad0:1; GLuint src1_swz_z:2; GLuint src1_swz_w:2; GLuint pad1:1; GLuint src1_vert_stride:4; GLuint flag_reg_nr:1; GLuint pad2:6; } ia16; struct { GLint jump_count:16; /* note: signed */ GLuint pop_count:4; GLuint pad0:12; } if_else; struct { GLuint function:4; GLuint int_type:1; GLuint precision:1; GLuint saturate:1; GLuint data_type:1; GLuint pad0:8; GLuint response_length:4; GLuint msg_length:4; GLuint msg_target:4; GLuint pad1:3; GLuint end_of_thread:1; } math; struct { GLuint binding_table_index:8; GLuint sampler:4; GLuint return_format:2; GLuint msg_type:2; GLuint response_length:4; GLuint msg_length:4; GLuint msg_target:4; GLuint pad1:3; GLuint end_of_thread:1; } sampler; struct { GLuint binding_table_index:8; GLuint sampler:4; GLuint msg_type:4; GLuint response_length:4; GLuint msg_length:4; GLuint msg_target:4; GLuint pad1:3; GLuint end_of_thread:1; } sampler_gm45_g4x; struct brw_urb_immediate urb; struct { GLuint binding_table_index:8; GLuint msg_control:4; GLuint msg_type:2; GLuint target_cache:2; GLuint response_length:4; GLuint msg_length:4; GLuint msg_target:4; GLuint pad1:3; GLuint end_of_thread:1; } dp_read; struct { GLuint binding_table_index:8; GLuint msg_control:3; GLuint pixel_scoreboard_clear:1; GLuint msg_type:3; GLuint send_commit_msg:1; GLuint response_length:4; GLuint msg_length:4; GLuint msg_target:4; GLuint pad1:3; GLuint end_of_thread:1; } dp_write; struct { GLuint pad:16; GLuint response_length:4; GLuint msg_length:4; GLuint msg_target:4; GLuint pad1:3; GLuint end_of_thread:1; } generic; GLint d; GLuint ud; } bits3;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -