mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 22:49:13 +02:00
llvmpipe: add some scene limit sanity check assertions
Note: This is a candidate for the stable branches. Reviewed-by: José Fonseca <jfonseca@vmware.com>
This commit is contained in:
parent
a31ebdffa0
commit
a51b81558f
1 changed files with 22 additions and 0 deletions
|
|
@ -64,6 +64,28 @@ lp_scene_create( struct pipe_context *pipe )
|
|||
|
||||
pipe_mutex_init(scene->mutex);
|
||||
|
||||
#ifdef DEBUG
|
||||
/* Do some scene limit sanity checks here */
|
||||
{
|
||||
size_t maxBins = TILES_X * TILES_Y;
|
||||
size_t maxCommandBytes = sizeof(struct cmd_block) * maxBins;
|
||||
size_t maxCommandPlusData = maxCommandBytes + DATA_BLOCK_SIZE;
|
||||
/* We'll need at least one command block per bin. Make sure that's
|
||||
* less than the max allowed scene size.
|
||||
*/
|
||||
assert(maxCommandBytes < LP_SCENE_MAX_SIZE);
|
||||
/* We'll also need space for at least one other data block */
|
||||
assert(maxCommandPlusData <= LP_SCENE_MAX_SIZE);
|
||||
|
||||
/* Ideally, the size of a cmd_block object will be a power of two
|
||||
* in order to avoid wasting space when we allocation them from
|
||||
* data blocks (which are power of two also).
|
||||
*/
|
||||
assert(sizeof(struct cmd_block) ==
|
||||
util_next_power_of_two(sizeof(struct cmd_block)));
|
||||
}
|
||||
#endif
|
||||
|
||||
return scene;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue