[Beignet] [PATCH v2 5/5] Fix AUX buffer for page alignment
Guo, Yejun
yejun.guo at intel.com
Thu Oct 23 00:49:57 PDT 2014
LGTM, thanks.
-----Original Message-----
From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf Of Zhenyu Wang
Sent: Thursday, October 23, 2014 3:19 PM
To: beignet at lists.freedesktop.org
Subject: [Beignet] [PATCH v2 5/5] Fix AUX buffer for page alignment
Apply ALIGN() for aux buffer size from beginning has no effect.
Move to the end of all state offsets set for page alignment.
v2: Update comments
Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
---
src/intel/intel_gpgpu.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/intel/intel_gpgpu.c b/src/intel/intel_gpgpu.c
index b7958d5..e4f9676 100644
--- a/src/intel/intel_gpgpu.c
+++ b/src/intel/intel_gpgpu.c
@@ -759,8 +759,8 @@ intel_gpgpu_state_init(intel_gpgpu_t *gpgpu,
dri_bo_unreference(gpgpu->aux_buf.bo);
gpgpu->aux_buf.bo = NULL;
- //surface heap must be 4096 bytes aligned because state base address use 20bit for the address
- size_aux = ALIGN(size_aux, 4096);
+ /* begin with surface heap to make sure it's page aligned,
+ because state base address use 20bit for the address */
gpgpu->aux_offset.surface_heap_offset = size_aux;
size_aux += sizeof(surface_heap_t);
@@ -784,7 +784,10 @@ intel_gpgpu_state_init(intel_gpgpu_t *gpgpu,
gpgpu->aux_offset.sampler_border_color_state_offset = size_aux;
size_aux += GEN_MAX_SAMPLERS * sizeof(gen7_sampler_border_color_t);
- bo = dri_bo_alloc(gpgpu->drv->bufmgr, "AUX_BUFFER", size_aux, 0);
+ /* make sure aux buffer is page aligned */
+ size_aux = ALIGN(size_aux, 4096);
+
+ bo = dri_bo_alloc(gpgpu->drv->bufmgr, "AUX_BUFFER", size_aux, 4096);
if (!bo || dri_bo_map(bo, 1) != 0) {
fprintf(stderr, "%s:%d: %s.\n", __FILE__, __LINE__, strerror(errno));
if (bo)
--
2.1.1
_______________________________________________
Beignet mailing list
Beignet at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/beignet
More information about the Beignet
mailing list