From: Chris Wilson Date: Fri, 7 Sep 2018 13:32:05 +0000 (+0100) Subject: i965: Bump aperture tracking to u64 X-Git-Tag: android-x86-8.1-r1~1022 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=44e3e6a9b403f9325f49684b9baed1854da30cec;p=android-x86%2Fexternal-mesa.git 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 Cc: Kenneth Graunke Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index bf2cddebdc6..7fd15669eb9 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -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; diff --git a/src/mesa/drivers/dri/i965/intel_batchbuffer.c b/src/mesa/drivers/dri/i965/intel_batchbuffer.c index 65d2c64e319..4363b146150 100644 --- a/src/mesa/drivers/dri/i965/intel_batchbuffer.c +++ b/src/mesa/drivers/dri/i965/intel_batchbuffer.c @@ -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); @@ -891,13 +891,6 @@ _intel_batchbuffer_flush_fence(struct brw_context *brw, } 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) { unsigned index = READ_ONCE(bo->index); diff --git a/src/mesa/drivers/dri/i965/intel_batchbuffer.h b/src/mesa/drivers/dri/i965/intel_batchbuffer.h index d10948f1916..0632142cd31 100644 --- a/src/mesa/drivers/dri/i965/intel_batchbuffer.h +++ b/src/mesa/drivers/dri/i965/intel_batchbuffer.h @@ -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);