2 typedef unsigned char GLubyte
;
3 typedef unsigned int uint32_t;
8 struct radeon_renderbuffer
{
14 GLint
r600_1d_tile_helper(const struct radeon_renderbuffer
* rrb
,
15 GLint x
, GLint y
, GLint is_depth
, GLint is_stencil
)
17 GLint element_bytes
= rrb
->cpp
;
18 GLint num_samples
= 1;
20 GLint tile_height
= 8;
21 GLint tile_thickness
= 1;
26 GLint tile_column_index
;
28 GLint pixel_number
= 0;
31 tile_bytes
= tile_width
* tile_height
* tile_thickness
32 * element_bytes
* num_samples
;
33 tile_column_index
= x
/ tile_width
;
34 tile_offset
= ((tile_row_index
* tiles_per_row
)
35 + tile_column_index
) * tile_bytes
;
40 switch (element_bytes
) {
41 case 1: pixel_number
|= ((x
>> 0) & 1) << 0;
43 element_offset
= sample_offset
+ (pixel_number
* element_bytes
);
45 offset
= slice_offset
+ tile_offset
+ element_offset
;
48 GLubyte
*r600_ptr_color(const struct radeon_renderbuffer
* rrb
,
51 GLubyte
*ptr
= rrb
->bo
->ptr
;
52 uint32_t mask
= 1 | 2;
54 if (rrb
->has_surface
|| !(rrb
->bo
->flags
& mask
)) {
55 offset
= r600_1d_tile_helper(rrb
, x
, y
, 0, 0);