1 #ifndef _I965_STRUCTS_H_
2 #define _I965_STRUCTS_H_
7 unsigned int per_thread_scratch_space:4;
9 unsigned int extend_vfe_state_present:1;
11 unsigned int scratch_base:22;
15 unsigned int debug_counter_control:2;
16 unsigned int children_present:1;
17 unsigned int vfe_mode:4;
19 unsigned int num_urb_entries:7;
20 unsigned int urb_entry_alloc_size:9;
21 unsigned int max_threads:7;
26 unsigned int interface_descriptor_base:28;
30 struct i965_vfe_state_ex
34 unsigned int obj_id:24;
38 unsigned int residual_grf_offset:5;
40 unsigned int weight_grf_offset:5;
42 unsigned int residual_data_offset:8;
43 unsigned int sub_field_present_flag:2;
44 unsigned int residual_data_fix_offset:1;
49 unsigned int remap_index_0:4;
50 unsigned int remap_index_1:4;
51 unsigned int remap_index_2:4;
52 unsigned int remap_index_3:4;
53 unsigned int remap_index_4:4;
54 unsigned int remap_index_5:4;
55 unsigned int remap_index_6:4;
56 unsigned int remap_index_7:4;
60 unsigned int remap_index_8:4;
61 unsigned int remap_index_9:4;
62 unsigned int remap_index_10:4;
63 unsigned int remap_index_11:4;
64 unsigned int remap_index_12:4;
65 unsigned int remap_index_13:4;
66 unsigned int remap_index_14:4;
67 unsigned int remap_index_15:4;
71 unsigned int scoreboard_mask:8;
74 unsigned int enable:1;
92 unsigned int scan_order:1;
93 unsigned int intra_vlc_format:1;
94 unsigned int quantizer_scale_type:1;
95 unsigned int concealment_motion_vector:1;
96 unsigned int frame_predict_frame_dct:1;
97 unsigned int top_field_first:1;
98 unsigned int picture_structure:2;
99 unsigned int intra_dc_precision:2;
100 unsigned int f_code_0_0:4;
101 unsigned int f_code_0_1:4;
102 unsigned int f_code_1_0:4;
103 unsigned int f_code_1_1:4;
108 unsigned int picture_coding_type:2;
113 unsigned int index_0:4;
114 unsigned int index_1:4;
115 unsigned int index_2:4;
116 unsigned int index_3:4;
117 unsigned int index_4:4;
118 unsigned int index_5:4;
119 unsigned int index_6:4;
120 unsigned int index_7:4;
124 unsigned int index_8:4;
125 unsigned int index_9:4;
126 unsigned int index_10:4;
127 unsigned int index_11:4;
128 unsigned int index_12:4;
129 unsigned int index_13:4;
130 unsigned int index_14:4;
131 unsigned int index_15:4;
135 struct i965_interface_descriptor
138 unsigned int grf_reg_blocks:4;
140 unsigned int kernel_start_pointer:26;
145 unsigned int software_exception:1;
147 unsigned int maskstack_exception:1;
149 unsigned int illegal_opcode_exception:1;
151 unsigned int floating_point_mode:1;
152 unsigned int thread_priority:1;
153 unsigned int single_program_flow:1;
155 unsigned int const_urb_entry_read_offset:6;
156 unsigned int const_urb_entry_read_len:6;
161 unsigned int sampler_count:3;
162 unsigned int sampler_state_pointer:27;
166 unsigned int binding_table_entry_count:5;
167 unsigned int binding_table_pointer:27;
171 struct i965_surface_state
174 unsigned int cube_pos_z:1;
175 unsigned int cube_neg_z:1;
176 unsigned int cube_pos_y:1;
177 unsigned int cube_neg_y:1;
178 unsigned int cube_pos_x:1;
179 unsigned int cube_neg_x:1;
181 unsigned int render_cache_read_mode:1;
182 unsigned int mipmap_layout_mode:1;
183 unsigned int vert_line_stride_ofs:1;
184 unsigned int vert_line_stride:1;
185 unsigned int color_blend:1;
186 unsigned int writedisable_blue:1;
187 unsigned int writedisable_green:1;
188 unsigned int writedisable_red:1;
189 unsigned int writedisable_alpha:1;
190 unsigned int surface_format:9;
191 unsigned int data_return_format:1;
193 unsigned int surface_type:3;
197 unsigned int base_addr;
201 unsigned int render_target_rotation:2;
202 unsigned int mip_count:4;
203 unsigned int width:13;
204 unsigned int height:13;
208 unsigned int tile_walk:1;
209 unsigned int tiled_surface:1;
211 unsigned int pitch:18;
212 unsigned int depth:11;
217 unsigned int min_array_elt:9;
218 unsigned int min_lod:4;
223 unsigned int y_offset:4;
225 unsigned int x_offset:7;
232 unsigned int grf_reg_count:3;
234 unsigned int kernel_start_pointer:26;
239 unsigned int ext_halt_exception_enable:1;
240 unsigned int sw_exception_enable:1;
241 unsigned int mask_stack_exception_enable:1;
242 unsigned int timeout_exception_enable:1;
243 unsigned int illegal_op_exception_enable:1;
245 unsigned int depth_coef_urb_read_offset:6; /* WM only */
247 unsigned int floating_point_mode:1;
248 unsigned int thread_priority:1;
249 unsigned int binding_table_entry_count:8;
251 unsigned int single_program_flow:1;
256 unsigned int per_thread_scratch_space:4;
258 unsigned int scratch_space_base_pointer:22;
264 unsigned int dispatch_grf_start_reg:4;
265 unsigned int urb_entry_read_offset:6;
267 unsigned int urb_entry_read_length:6;
269 unsigned int const_urb_entry_read_offset:6;
271 unsigned int const_urb_entry_read_length:6;
275 struct i965_vs_unit_state
277 struct thread0 thread0;
278 struct thread1 thread1;
279 struct thread2 thread2;
280 struct thread3 thread3;
283 unsigned int pad0:10;
284 unsigned int stats_enable:1;
285 unsigned int nr_urb_entries:7;
287 unsigned int urb_entry_allocation_size:5;
289 unsigned int max_threads:4;
294 unsigned int sampler_count:3;
296 unsigned int sampler_state_pointer:27;
300 unsigned int vs_enable:1;
301 unsigned int vert_cache_disable:1;
302 unsigned int pad0:30;
306 struct i965_gs_unit_state
308 struct thread0 thread0;
309 struct thread1 thread1;
310 struct thread2 thread2;
311 struct thread3 thread3;
314 unsigned int pad0:10;
315 unsigned int stats_enable:1;
316 unsigned int nr_urb_entries:7;
318 unsigned int urb_entry_allocation_size:5;
320 unsigned int max_threads:1;
325 unsigned int sampler_count:3;
327 unsigned int sampler_state_pointer:27;
332 unsigned int max_vp_index:4;
333 unsigned int pad0:26;
334 unsigned int reorder_enable:1;
339 struct i965_clip_unit_state
341 struct thread0 thread0;
342 struct thread1 thread1;
343 struct thread2 thread2;
344 struct thread3 thread3;
348 unsigned int gs_output_stats:1; /* not always */
349 unsigned int stats_enable:1;
350 unsigned int nr_urb_entries:7;
352 unsigned int urb_entry_allocation_size:5;
354 unsigned int max_threads:6; /* may be less */
359 unsigned int pad0:13;
360 unsigned int clip_mode:3;
361 unsigned int userclip_enable_flags:8;
362 unsigned int userclip_must_clip:1;
364 unsigned int guard_band_enable:1;
365 unsigned int viewport_z_clip_enable:1;
366 unsigned int viewport_xy_clip_enable:1;
367 unsigned int vertex_position_space:1;
368 unsigned int api_mode:1;
374 unsigned int clipper_viewport_state_ptr:27;
384 struct i965_sf_unit_state
386 struct thread0 thread0;
389 unsigned int sw_exception_enable:1;
391 unsigned int mask_stack_exception_enable:1;
393 unsigned int illegal_op_exception_enable:1;
395 unsigned int floating_point_mode:1;
396 unsigned int thread_priority:1;
397 unsigned int binding_table_entry_count:8;
399 unsigned int single_program_flow:1;
402 struct thread2 thread2;
403 struct thread3 thread3;
406 unsigned int pad0:10;
407 unsigned int stats_enable:1;
408 unsigned int nr_urb_entries:7;
410 unsigned int urb_entry_allocation_size:5;
412 unsigned int max_threads:6;
417 unsigned int front_winding:1;
418 unsigned int viewport_transform:1;
420 unsigned int sf_viewport_state_offset:27;
425 unsigned int dest_org_vbias:4;
426 unsigned int dest_org_hbias:4;
427 unsigned int scissor:1;
428 unsigned int disable_2x2_trifilter:1;
429 unsigned int disable_zero_pix_trifilter:1;
430 unsigned int point_rast_rule:2;
431 unsigned int line_endcap_aa_region_width:2;
432 unsigned int line_width:4;
433 unsigned int fast_scissor_disable:1;
434 unsigned int cull_mode:2;
435 unsigned int aa_enable:1;
439 unsigned int point_size:11;
440 unsigned int use_point_size_state:1;
441 unsigned int subpixel_precision:1;
442 unsigned int sprite_point:1;
443 unsigned int pad0:11;
444 unsigned int trifan_pv:2;
445 unsigned int linestrip_pv:2;
446 unsigned int tristrip_pv:2;
447 unsigned int line_last_pixel_enable:1;
451 struct i965_sampler_state
454 unsigned int shadow_function:3;
455 unsigned int lod_bias:11;
456 unsigned int min_filter:3;
457 unsigned int mag_filter:3;
458 unsigned int mip_filter:2;
459 unsigned int base_level:5;
461 unsigned int lod_preclamp:1;
462 unsigned int border_color_mode:1;
464 unsigned int disable:1;
468 unsigned int r_wrap_mode:3;
469 unsigned int t_wrap_mode:3;
470 unsigned int s_wrap_mode:3;
472 unsigned int max_lod:10;
473 unsigned int min_lod:10;
479 unsigned int border_color_pointer:27;
484 unsigned int max_aniso:3;
485 unsigned int chroma_key_mode:1;
486 unsigned int chroma_key_index:2;
487 unsigned int chroma_key_enable:1;
488 unsigned int monochrome_filter_width:3;
489 unsigned int monochrome_filter_height:3;
493 struct i965_wm_unit_state
495 struct thread0 thread0;
496 struct thread1 thread1;
497 struct thread2 thread2;
498 struct thread3 thread3;
501 unsigned int stats_enable:1;
503 unsigned int sampler_count:3;
504 unsigned int sampler_state_pointer:27;
508 unsigned int enable_8_pix:1;
509 unsigned int enable_16_pix:1;
510 unsigned int enable_32_pix:1;
512 unsigned int legacy_global_depth_bias:1;
513 unsigned int line_stipple:1;
514 unsigned int depth_offset:1;
515 unsigned int polygon_stipple:1;
516 unsigned int line_aa_region_width:2;
517 unsigned int line_endcap_aa_region_width:2;
518 unsigned int early_depth_test:1;
519 unsigned int thread_dispatch_enable:1;
520 unsigned int program_uses_depth:1;
521 unsigned int program_computes_depth:1;
522 unsigned int program_uses_killpixel:1;
523 unsigned int legacy_line_rast: 1;
524 unsigned int transposed_urb_read:1;
525 unsigned int max_threads:7;
528 float global_depth_offset_constant;
529 float global_depth_offset_scale;
532 struct i965_cc_viewport
538 struct i965_cc_unit_state
542 unsigned int bf_stencil_pass_depth_pass_op:3;
543 unsigned int bf_stencil_pass_depth_fail_op:3;
544 unsigned int bf_stencil_fail_op:3;
545 unsigned int bf_stencil_func:3;
546 unsigned int bf_stencil_enable:1;
548 unsigned int stencil_write_enable:1;
549 unsigned int stencil_pass_depth_pass_op:3;
550 unsigned int stencil_pass_depth_fail_op:3;
551 unsigned int stencil_fail_op:3;
552 unsigned int stencil_func:3;
553 unsigned int stencil_enable:1;
558 unsigned int bf_stencil_ref:8;
559 unsigned int stencil_write_mask:8;
560 unsigned int stencil_test_mask:8;
561 unsigned int stencil_ref:8;
566 unsigned int logicop_enable:1;
567 unsigned int pad0:10;
568 unsigned int depth_write_enable:1;
569 unsigned int depth_test_function:3;
570 unsigned int depth_test:1;
571 unsigned int bf_stencil_write_mask:8;
572 unsigned int bf_stencil_test_mask:8;
578 unsigned int alpha_test_func:3;
579 unsigned int alpha_test:1;
580 unsigned int blend_enable:1;
581 unsigned int ia_blend_enable:1;
583 unsigned int alpha_test_format:1;
584 unsigned int pad2:16;
589 unsigned int cc_viewport_state_offset:27;
594 unsigned int ia_dest_blend_factor:5;
595 unsigned int ia_src_blend_factor:5;
596 unsigned int ia_blend_function:3;
597 unsigned int statistics_enable:1;
598 unsigned int logicop_func:4;
599 unsigned int pad1:11;
600 unsigned int dither_enable:1;
604 unsigned int clamp_post_alpha_blend:1;
605 unsigned int clamp_pre_alpha_blend:1;
606 unsigned int clamp_range:2;
607 unsigned int pad0:11;
608 unsigned int y_dither_offset:2;
609 unsigned int x_dither_offset:2;
610 unsigned int dest_blend_factor:5;
611 unsigned int src_blend_factor:5;
612 unsigned int blend_function:3;
623 #endif /* _I965_STRUCTS_H_ */