On 17.01.2018 13:28, Nicolai Hähnle wrote:
On 16.01.2018 18:45, Emil Velikov wrote:
Hi Tapani,

On 15 January 2018 at 12:31, Tapani Pälli <tapani.pa...@intel.com> wrote:

+static void
+update_blob_cache_functions(struct dri2_egl_display *dri2_dpy,
+                            struct dri2_egl_context *dri2_ctx)
+{
+   if (!dri2_dpy || !dri2_ctx)
+      return;
AFAICT dri2_dpy can never be NULL.

+
+   /* No blob support. */
+   if (!dri2_dpy->blob)
+      return;
+
+   /* No functions to set. */
+   if (!dri2_dpy->blob_cache_set)
+      return;
+
+   dri2_dpy->blob->set_cache_funcs(dri2_ctx->dri_context,
+                                   dri2_dpy->blob_cache_set,
+                                   dri2_dpy->blob_cache_get);
+}
+
I'm wondering why you opted to make set_cache_funcs dri_context
specific as opposed to dri_screen.
The latter seems to align better to EGLDisplay.

Plus doing so will simplify the existing code - no hunk in
dri2_make_current, no dri2_dpy->blob/blob_cache_set checks, etc.

Yes, please make it a screen thing. It just makes more sense, and there's precedent in Gallium, where the disk-cache is a per-pipe_screen object as well.

I chose context because eventually I need to access disk_cache which is part of gl_context. I'm not sure how would I propagate the set/get there from dri_screen?


Thanks,
Nicolai




@@ -230,6 +231,9 @@ struct dri2_egl_display

     bool                      is_render_node;
     bool                      is_different_gpu;
+
+   EGLSetBlobFuncANDROID     blob_cache_set;
+   EGLGetBlobFuncANDROID     blob_cache_get;
These two are part of the EGL API, so they are better suited in struct
_egl_display.

-Emil
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev



_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to