⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 brw_structs.h

📁 Mesa is an open-source implementation of the OpenGL specification - a system for rendering interacti
💻 H
📖 第 1 页 / 共 2 页
字号:
      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 + -