rast->state.write_zstencil = write_zstencil;
rast->state.write_color = write_color;
- rast->check_for_clipped_tiles = (width % TILESIZE != 0 ||
- height % TILESIZE != 0);
+ rast->check_for_clipped_tiles = (width % TILE_SIZE != 0 ||
+ height % TILE_SIZE != 0);
if (cbuf) {
rast->cbuf_transfer = screen->get_tex_transfer(rast->screen,
{
const unsigned x = rast->x;
const unsigned y = rast->y;
- unsigned w = TILESIZE;
- unsigned h = TILESIZE;
+ unsigned w = TILE_SIZE;
+ unsigned h = TILE_SIZE;
if (x + w > rast->width)
w -= x + w - rast->width;
#define FIXED_ORDER 4
#define FIXED_ONE (1<<FIXED_ORDER)
-#define TILE_ORDER 6
-#define TILESIZE (1<<TILE_ORDER)
struct lp_rast_state {
for (j = 0; j < setup->tiles_y; j++) {
lp_rast_start_tile( rast,
- i * TILESIZE,
- j * TILESIZE );
+ i * TILE_SIZE,
+ j * TILE_SIZE );
for (block = setup->tile[i][j].head; block; block = block->next) {
for (k = 0; k < block->count; k++) {
setup->fb.zsbuf->height);
}
- setup->tiles_x = align(setup->fb.width, TILESIZE) / TILESIZE;
- setup->tiles_y = align(setup->fb.height, TILESIZE) / TILESIZE;
+ setup->tiles_x = align(setup->fb.width, TILE_SIZE) / TILE_SIZE;
+ setup->tiles_y = align(setup->fb.height, TILE_SIZE) / TILE_SIZE;
if (setup->fb.cbuf) {
if (setup->clear.flags & PIPE_CLEAR_COLOR)
#include "lp_setup.h"
#include "lp_rast.h"
+#include "lp_tile_soa.h" /* for TILE_SIZE */
/* We're limited to 2K by 2K for 32bit fixed point rasterization.
* Will need a 64-bit version for larger framebuffers.
*/
#define MAXHEIGHT 2048
#define MAXWIDTH 2048
-#define TILES_X (MAXWIDTH / TILESIZE)
-#define TILES_Y (MAXHEIGHT / TILESIZE)
+#define TILES_X (MAXWIDTH / TILE_SIZE)
+#define TILES_Y (MAXHEIGHT / TILE_SIZE)
#define CMD_BLOCK_MAX 128
#define DATA_BLOCK_SIZE (16 * 1024 - sizeof(unsigned) - sizeof(void *))
}
}
- minx = tri->minx / TILESIZE;
- miny = tri->miny / TILESIZE;
- maxx = tri->maxx / TILESIZE;
- maxy = tri->maxy / TILESIZE;
+ minx = tri->minx / TILE_SIZE;
+ miny = tri->miny / TILE_SIZE;
+ maxx = tri->maxx / TILE_SIZE;
+ maxy = tri->maxy / TILE_SIZE;
/* Convert to tile coordinates:
else
{
int c1 = (tri->c1 +
- tri->dx12 * miny * TILESIZE -
- tri->dy12 * minx * TILESIZE);
+ tri->dx12 * miny * TILE_SIZE -
+ tri->dy12 * minx * TILE_SIZE);
int c2 = (tri->c2 +
- tri->dx23 * miny * TILESIZE -
- tri->dy23 * minx * TILESIZE);
+ tri->dx23 * miny * TILE_SIZE -
+ tri->dy23 * minx * TILE_SIZE);
int c3 = (tri->c3 +
- tri->dx31 * miny * TILESIZE -
- tri->dy31 * minx * TILESIZE);
+ tri->dx31 * miny * TILE_SIZE -
+ tri->dy31 * minx * TILE_SIZE);
int ei1 = tri->ei1 << TILE_ORDER;
int ei2 = tri->ei2 << TILE_ORDER;
/**
* Cache tile size (width and height). This needs to be a power of two.
*/
-#define TILE_SIZE 64
+#define TILE_ORDER 6
+#define TILE_SIZE (1<<TILE_ORDER)
#define TILE_VECTOR_HEIGHT 4