From: Kenneth Graunke Date: Tue, 10 Apr 2018 23:01:50 +0000 (-0700) Subject: i965: Don't stomp initial kflags for program cache. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bde12f75e1de264319a8102710cc8fe306d44ef8;p=mesa.git i965: Don't stomp initial kflags for program cache. 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. Reviewed-by: Lionel Landwerlin --- 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);