{
const struct lp_scene *scene = task->scene;
const struct lp_rast_shader_inputs *inputs = arg.shade_tile;
- const struct lp_rast_state *state = task->state;
- struct lp_fragment_shader_variant *variant = state->variant;
+ const struct lp_rast_state *state;
+ struct lp_fragment_shader_variant *variant;
const unsigned tile_x = task->x, tile_y = task->y;
unsigned x, y;
- if (!variant) {
- static boolean warned = FALSE;
- if (!warned) {
- debug_warning("null variant pointer");
- warned = TRUE;
- }
- return;
- }
-
if (inputs->disable) {
/* This command was partially binned and has been disabled */
return;
LP_DBG(DEBUG_RAST, "%s\n", __FUNCTION__);
+ state = task->state;
+ assert(state);
+ if (!state) {
+ return;
+ }
+ variant = state->variant;
+
/* render the whole 64x64 tile in 4x4 chunks */
for (y = 0; y < TILE_SIZE; y += 4){
for (x = 0; x < TILE_SIZE; x += 4) {
const struct lp_scene *scene = task->scene;
unsigned i;
+ LP_DBG(DEBUG_RAST, "%s\n", __FUNCTION__);
+
+ assert(task->state);
if (!task->state) {
- /* This indicates that some sort of rendering command was queued
- * before we set up the rasterization state. Just returning here
- * allows the piglit fbo-mipmap-copypix test to run/pass.
- */
- static boolean warned = FALSE;
- if (!warned) {
- debug_warning("null state pointer");
- warned = TRUE;
- }
return;
}
- LP_DBG(DEBUG_RAST, "%s\n", __FUNCTION__);
-
/* this will prevent converting the layout from tiled to linear */
for (i = 0; i < scene->fb.nr_cbufs; i++) {
(void)lp_rast_get_color_tile_pointer(task, i, LP_TEX_USAGE_WRITE_ALL);
boolean debug = false;
while (1) {
- /* make sure these pointers aren't pointing to old data */
- task->scene = NULL;
- task->state = NULL;
-
/* wait for work */
if (debug)
debug_printf("thread %d waiting for work\n", task->thread_index);