llvmpipe: do some null pointer checking
This commit is contained in:
@@ -644,16 +644,19 @@ lp_setup_update_state( struct lp_setup_context *setup )
|
|||||||
|
|
||||||
stored = lp_scene_alloc_aligned(scene, 4 * 16, 16);
|
stored = lp_scene_alloc_aligned(scene, 4 * 16, 16);
|
||||||
|
|
||||||
/* smear each blend color component across 16 ubyte elements */
|
if (stored) {
|
||||||
for (i = 0; i < 4; ++i) {
|
/* smear each blend color component across 16 ubyte elements */
|
||||||
uint8_t c = float_to_ubyte(setup->blend_color.current.color[i]);
|
for (i = 0; i < 4; ++i) {
|
||||||
for (j = 0; j < 16; ++j)
|
uint8_t c = float_to_ubyte(setup->blend_color.current.color[i]);
|
||||||
stored[i*16 + j] = c;
|
for (j = 0; j < 16; ++j)
|
||||||
|
stored[i*16 + j] = c;
|
||||||
|
}
|
||||||
|
|
||||||
|
setup->blend_color.stored = stored;
|
||||||
|
|
||||||
|
setup->fs.current.jit_context.blend_color = setup->blend_color.stored;
|
||||||
}
|
}
|
||||||
|
|
||||||
setup->blend_color.stored = stored;
|
|
||||||
|
|
||||||
setup->fs.current.jit_context.blend_color = setup->blend_color.stored;
|
|
||||||
setup->dirty |= LP_SETUP_NEW_FS;
|
setup->dirty |= LP_SETUP_NEW_FS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -662,17 +665,19 @@ lp_setup_update_state( struct lp_setup_context *setup )
|
|||||||
|
|
||||||
stored = lp_scene_alloc_aligned(scene, 4 * sizeof(int32_t), 16);
|
stored = lp_scene_alloc_aligned(scene, 4 * sizeof(int32_t), 16);
|
||||||
|
|
||||||
stored[0] = (float) setup->scissor.current.minx;
|
if (stored) {
|
||||||
stored[1] = (float) setup->scissor.current.miny;
|
stored[0] = (float) setup->scissor.current.minx;
|
||||||
stored[2] = (float) setup->scissor.current.maxx;
|
stored[1] = (float) setup->scissor.current.miny;
|
||||||
stored[3] = (float) setup->scissor.current.maxy;
|
stored[2] = (float) setup->scissor.current.maxx;
|
||||||
|
stored[3] = (float) setup->scissor.current.maxy;
|
||||||
|
|
||||||
setup->scissor.stored = stored;
|
setup->scissor.stored = stored;
|
||||||
|
|
||||||
setup->fs.current.jit_context.scissor_xmin = stored[0];
|
setup->fs.current.jit_context.scissor_xmin = stored[0];
|
||||||
setup->fs.current.jit_context.scissor_ymin = stored[1];
|
setup->fs.current.jit_context.scissor_ymin = stored[1];
|
||||||
setup->fs.current.jit_context.scissor_xmax = stored[2];
|
setup->fs.current.jit_context.scissor_xmax = stored[2];
|
||||||
setup->fs.current.jit_context.scissor_ymax = stored[3];
|
setup->fs.current.jit_context.scissor_ymax = stored[3];
|
||||||
|
}
|
||||||
|
|
||||||
setup->dirty |= LP_SETUP_NEW_FS;
|
setup->dirty |= LP_SETUP_NEW_FS;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user