i965: Bump aperture tracking to u64

As a prelude to handling large address spaces, first allow ourselves the
luxury of handling the full 4G.

Reported-by: Andrey Simiklit <asimiklit.work@gmail.com>
Cc: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Chris Wilson 2018-09-07 14:32:05 +01:00
parent 2fece204c0
commit 44e3e6a9b4
3 changed files with 8 additions and 11 deletions

View File

@ -514,7 +514,7 @@ struct intel_batchbuffer {
int exec_array_size;
/** The amount of aperture space (in bytes) used by all exec_bos */
int aperture_space;
uint64_t aperture_space;
struct {
uint32_t *map_next;

View File

@ -870,7 +870,7 @@ _intel_batchbuffer_flush_fence(struct brw_context *brw,
bytes_for_commands, 100.0f * bytes_for_commands / BATCH_SZ,
bytes_for_state, 100.0f * bytes_for_state / STATE_SZ,
brw->batch.exec_count,
(float) brw->batch.aperture_space / (1024 * 1024),
(float) (brw->batch.aperture_space / (1024 * 1024)),
brw->batch.batch_relocs.reloc_count,
brw->batch.state_relocs.reloc_count);
@ -890,13 +890,6 @@ _intel_batchbuffer_flush_fence(struct brw_context *brw,
return ret;
}
bool
brw_batch_has_aperture_space(struct brw_context *brw, unsigned extra_space)
{
return brw->batch.aperture_space + extra_space <=
brw->screen->aperture_threshold;
}
bool
brw_batch_references(struct intel_batchbuffer *batch, struct brw_bo *bo)
{

View File

@ -44,8 +44,12 @@ int _intel_batchbuffer_flush_fence(struct brw_context *brw,
void intel_batchbuffer_data(struct brw_context *brw,
const void *data, GLuint bytes);
bool brw_batch_has_aperture_space(struct brw_context *brw,
unsigned extra_space_in_bytes);
static inline bool
brw_batch_has_aperture_space(struct brw_context *brw, uint64_t extra_space)
{
return brw->batch.aperture_space + extra_space <=
brw->screen->aperture_threshold;
}
bool brw_batch_references(struct intel_batchbuffer *batch, struct brw_bo *bo);