Merge branch 'gallium-msaa'
[mesa.git] / src / gallium / drivers / i965 / brw_winsys_debug.c
1 #include "brw_winsys.h"
2 #include "brw_disasm.h"
3 #include "brw_structs_dump.h"
4 #include "brw_structs.h"
5 #include "intel_decode.h"
6
7
8 void brw_dump_data( unsigned pci_id,
9 enum brw_buffer_data_type data_type,
10 unsigned offset,
11 const void *data,
12 size_t size )
13 {
14 if (BRW_DUMP & DUMP_ASM) {
15 switch (data_type) {
16 case BRW_DATA_GS_WM_PROG:
17 case BRW_DATA_GS_SF_PROG:
18 case BRW_DATA_GS_VS_PROG:
19 case BRW_DATA_GS_GS_PROG:
20 case BRW_DATA_GS_CLIP_PROG:
21 brw_disasm( stderr, data, size / sizeof(struct brw_instruction) );
22 break;
23 default:
24 break;
25 }
26 }
27
28 if (BRW_DUMP & DUMP_STATE) {
29 switch (data_type) {
30 case BRW_DATA_GS_CC_VP:
31 brw_dump_cc_viewport( data );
32 break;
33 case BRW_DATA_GS_CC_UNIT:
34 brw_dump_cc_unit_state( data );
35 break;
36 case BRW_DATA_GS_SAMPLER_DEFAULT_COLOR:
37 brw_dump_sampler_default_color( data );
38 break;
39 case BRW_DATA_GS_SAMPLER:
40 brw_dump_sampler_state( data );
41 break;
42 case BRW_DATA_GS_WM_UNIT:
43 brw_dump_wm_unit_state( data );
44 break;
45 case BRW_DATA_GS_SF_VP:
46 brw_dump_sf_viewport( data );
47 break;
48 case BRW_DATA_GS_SF_UNIT:
49 brw_dump_sf_unit_state( data );
50 break;
51 case BRW_DATA_GS_VS_UNIT:
52 brw_dump_vs_unit_state( data );
53 break;
54 case BRW_DATA_GS_GS_UNIT:
55 brw_dump_gs_unit_state( data );
56 break;
57 case BRW_DATA_GS_CLIP_VP:
58 brw_dump_clipper_viewport( data );
59 break;
60 case BRW_DATA_GS_CLIP_UNIT:
61 brw_dump_clip_unit_state( data );
62 break;
63 case BRW_DATA_SS_SURFACE:
64 brw_dump_surface_state( data );
65 break;
66 case BRW_DATA_SS_SURF_BIND:
67 break;
68 case BRW_DATA_OTHER:
69 break;
70 case BRW_DATA_CONSTANT_BUFFER:
71 break;
72 default:
73 break;
74 }
75 }
76
77 if (BRW_DUMP & DUMP_BATCH) {
78 switch (data_type) {
79 case BRW_DATA_BATCH_BUFFER:
80 intel_decode(data, size / 4, offset, pci_id);
81 break;
82 default:
83 break;
84 }
85 }
86 }
87