ソースを参照

llvmpipe: add some scene limit sanity check assertions

Note: This is a candidate for the stable branches.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
tags/mesa-9.2-rc1
Brian Paul 12年前
コミット
a51b81558f
1個のファイルの変更22行の追加0行の削除
  1. 22
    0
      src/gallium/drivers/llvmpipe/lp_scene.c

+ 22
- 0
src/gallium/drivers/llvmpipe/lp_scene.c ファイルの表示

@@ -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;
}


読み込み中…
キャンセル
保存