12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #define R100_TRACK_MAX_TEXTURE 3
- #define R200_TRACK_MAX_TEXTURE 6
- #define R300_TRACK_MAX_TEXTURE 16
- #define R100_MAX_CB 1
- #define R300_MAX_CB 4
- /*
- * CS functions
- */
- struct r100_cs_track_cb {
- struct radeon_bo *robj;
- unsigned pitch;
- unsigned cpp;
- unsigned offset;
- };
- struct r100_cs_track_array {
- struct radeon_bo *robj;
- unsigned esize;
- };
- struct r100_cs_cube_info {
- struct radeon_bo *robj;
- unsigned offset;
- unsigned width;
- unsigned height;
- };
- #define R100_TRACK_COMP_NONE 0
- #define R100_TRACK_COMP_DXT1 1
- #define R100_TRACK_COMP_DXT35 2
- struct r100_cs_track_texture {
- struct radeon_bo *robj;
- struct r100_cs_cube_info cube_info[5]; /* info for 5 non-primary faces */
- unsigned pitch;
- unsigned width;
- unsigned height;
- unsigned num_levels;
- unsigned cpp;
- unsigned tex_coord_type;
- unsigned txdepth;
- unsigned width_11;
- unsigned height_11;
- bool use_pitch;
- bool enabled;
- bool lookup_disable;
- bool roundup_w;
- bool roundup_h;
- unsigned compress_format;
- };
- struct r100_cs_track {
- unsigned num_cb;
- unsigned num_texture;
- unsigned maxy;
- unsigned vtx_size;
- unsigned vap_vf_cntl;
- unsigned vap_alt_nverts;
- unsigned immd_dwords;
- unsigned num_arrays;
- unsigned max_indx;
- unsigned color_channel_mask;
- struct r100_cs_track_array arrays[16];
- struct r100_cs_track_cb cb[R300_MAX_CB];
- struct r100_cs_track_cb zb;
- struct r100_cs_track_cb aa;
- struct r100_cs_track_texture textures[R300_TRACK_MAX_TEXTURE];
- bool z_enabled;
- bool separate_cube;
- bool zb_cb_clear;
- bool blend_read_enable;
- bool cb_dirty;
- bool zb_dirty;
- bool tex_dirty;
- bool aa_dirty;
- bool aaresolve;
- };
- int r100_cs_track_check(struct radeon_device *rdev, struct r100_cs_track *track);
- void r100_cs_track_clear(struct radeon_device *rdev, struct r100_cs_track *track);
- int r100_cs_packet_parse_vline(struct radeon_cs_parser *p);
- int r200_packet0_check(struct radeon_cs_parser *p,
- struct radeon_cs_packet *pkt,
- unsigned idx, unsigned reg);
- int r100_reloc_pitch_offset(struct radeon_cs_parser *p,
- struct radeon_cs_packet *pkt,
- unsigned idx,
- unsigned reg);
- int r100_packet3_load_vbpntr(struct radeon_cs_parser *p,
- struct radeon_cs_packet *pkt,
- int idx);
|