summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers
diff options
context:
space:
mode:
authorChris Wilson <[email protected]>2018-09-07 14:32:05 +0100
committerChris Wilson <[email protected]>2018-09-10 09:14:46 +0100
commit44e3e6a9b403f9325f49684b9baed1854da30cec (patch)
treeab39b23729a3ae99ebb5cdc9ec7cd65c741713e7 /src/mesa/drivers
parent2fece204c02e437811732c223cd158f82c4dd916 (diff)
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 <[email protected]> Cc: Kenneth Graunke <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r--src/mesa/drivers/dri/i965/brw_context.h2
-rw-r--r--src/mesa/drivers/dri/i965/intel_batchbuffer.c9
-rw-r--r--src/mesa/drivers/dri/i965/intel_batchbuffer.h8
3 files changed, 8 insertions, 11 deletions
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);