[Mesa-dev] [PATCH 3/3] i965: Don't stomp initial kflags for program cache.

Kenneth Graunke kenneth at whitecape.org
Wed Apr 18 21:22:56 UTC 2018


We want to flag EXEC_OBJECT_CAPTURE, but we ought to preserve any
existing kflags.  Today, there are none (as the program cache doesn't
support 48-bit addressing), but once we start using softpin, we'll
need to preserve EXEC_OBJECT_PINNED.
---
 src/mesa/drivers/dri/i965/brw_program_cache.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_program_cache.c b/src/mesa/drivers/dri/i965/brw_program_cache.c
index ce11f1d0703..78159288af0 100644
--- a/src/mesa/drivers/dri/i965/brw_program_cache.c
+++ b/src/mesa/drivers/dri/i965/brw_program_cache.c
@@ -223,7 +223,7 @@ brw_cache_new_bo(struct brw_cache *cache, uint32_t new_size)
 
    new_bo = brw_bo_alloc(brw->bufmgr, "program cache", new_size);
    if (can_do_exec_capture(brw->screen))
-      new_bo->kflags = EXEC_OBJECT_CAPTURE;
+      new_bo->kflags |= EXEC_OBJECT_CAPTURE;
 
    void *map = brw_bo_map(brw, new_bo, MAP_READ | MAP_WRITE |
                                        MAP_ASYNC | MAP_PERSISTENT);
@@ -390,7 +390,7 @@ brw_init_caches(struct brw_context *brw)
 
    cache->bo = brw_bo_alloc(brw->bufmgr, "program cache", 16384);
    if (can_do_exec_capture(brw->screen))
-      cache->bo->kflags = EXEC_OBJECT_CAPTURE;
+      cache->bo->kflags |= EXEC_OBJECT_CAPTURE;
 
    cache->map = brw_bo_map(brw, cache->bo, MAP_READ | MAP_WRITE |
                                            MAP_ASYNC | MAP_PERSISTENT);
-- 
2.16.3



More information about the mesa-dev mailing list