| #ifndef INTEL_STRUCTS_H |
| #define INTEL_STRUCTS_H |
| |
| struct br0 { |
| GLuint length:8; |
| GLuint pad0:3; |
| GLuint dst_tiled:1; |
| GLuint pad1:8; |
| GLuint write_rgb:1; |
| GLuint write_alpha:1; |
| GLuint opcode:7; |
| GLuint client:3; |
| }; |
| |
| |
| struct br13 { |
| GLint dest_pitch:16; |
| GLuint rop:8; |
| GLuint color_depth:2; |
| GLuint pad1:3; |
| GLuint mono_source_transparency:1; |
| GLuint clipping_enable:1; |
| GLuint pad0:1; |
| }; |
| |
| |
| |
| /* This is an attempt to move some of the 2D interaction in this |
| * driver to using structs for packets rather than a bunch of #defines |
| * and dwords. |
| */ |
| struct xy_color_blit { |
| struct br0 br0; |
| struct br13 br13; |
| |
| struct { |
| GLuint dest_x1:16; |
| GLuint dest_y1:16; |
| } dw2; |
| |
| struct { |
| GLuint dest_x2:16; |
| GLuint dest_y2:16; |
| } dw3; |
| |
| GLuint dest_base_addr; |
| GLuint color; |
| }; |
| |
| struct xy_src_copy_blit { |
| struct br0 br0; |
| struct br13 br13; |
| |
| struct { |
| GLuint dest_x1:16; |
| GLuint dest_y1:16; |
| } dw2; |
| |
| struct { |
| GLuint dest_x2:16; |
| GLuint dest_y2:16; |
| } dw3; |
| |
| GLuint dest_base_addr; |
| |
| struct { |
| GLuint src_x1:16; |
| GLuint src_y1:16; |
| } dw5; |
| |
| struct { |
| GLint src_pitch:16; |
| GLuint pad:16; |
| } dw6; |
| |
| GLuint src_base_addr; |
| }; |
| |
| struct xy_setup_blit { |
| struct br0 br0; |
| struct br13 br13; |
| |
| struct { |
| GLuint clip_x1:16; |
| GLuint clip_y1:16; |
| } dw2; |
| |
| struct { |
| GLuint clip_x2:16; |
| GLuint clip_y2:16; |
| } dw3; |
| |
| GLuint dest_base_addr; |
| GLuint background_color; |
| GLuint foreground_color; |
| GLuint pattern_base_addr; |
| }; |
| |
| |
| struct xy_text_immediate_blit { |
| struct { |
| GLuint length:8; |
| GLuint pad2:3; |
| GLuint dst_tiled:1; |
| GLuint pad1:4; |
| GLuint byte_packed:1; |
| GLuint pad0:5; |
| GLuint opcode:7; |
| GLuint client:3; |
| } dw0; |
| |
| struct { |
| GLuint dest_x1:16; |
| GLuint dest_y1:16; |
| } dw1; |
| |
| struct { |
| GLuint dest_x2:16; |
| GLuint dest_y2:16; |
| } dw2; |
| |
| /* Src bitmap data follows as inline dwords. |
| */ |
| }; |
| |
| |
| #define CLIENT_2D 0x2 |
| #define OPCODE_XY_SETUP_BLT 0x1 |
| #define OPCODE_XY_COLOR_BLT 0x50 |
| #define OPCODE_XY_TEXT_IMMEDIATE_BLT 0x31 |
| |
| #endif |