On 3 May 2017 at 15:29, Chris Wilson <[email protected]> wrote: > On Wed, Apr 12, 2017 at 02:58:50PM +0100, Emil Velikov wrote: >> On 11 April 2017 at 17:11, Chris Wilson <[email protected]> wrote: >> > Jump through the layers of abstraction between egl and dri in order to >> > feed the context priority attribute through to the backend. This >> > requires us to read the value from the base _egl_context, convert it to >> > a DRI attribute, parse it again in the generic context creator before >> > passing it to the driver as a function parameter. >> > >> > In order to not require us to pass back the actual value of the context >> > priority after creation, we impose that drivers should report the >> > available set of priorities during screen setup (and then they may chose >> > to fail if given an invalid value as that should have been checked at >> > the user boundary.) >> > >> > Signed-off-by: Chris Wilson <[email protected]> >> > --- >> > include/GL/internal/dri_interface.h | 6 ++++ >> > src/egl/drivers/dri2/egl_dri2.c | 38 >> > +++++++++++++++++++++----- >> > src/gallium/state_trackers/dri/dri_context.c | 1 + >> > src/gallium/state_trackers/dri/dri_context.h | 1 + >> > src/mesa/drivers/dri/common/dri_util.c | 7 ++++- >> > src/mesa/drivers/dri/common/dri_util.h | 9 +++--- >> > src/mesa/drivers/dri/i915/intel_screen.c | 11 ++++---- >> > src/mesa/drivers/dri/i965/brw_context.c | 7 +++-- >> > src/mesa/drivers/dri/i965/brw_context.h | 17 ++++++------ >> > src/mesa/drivers/dri/nouveau/nouveau_context.c | 1 + >> > src/mesa/drivers/dri/nouveau/nouveau_context.h | 4 +-- >> > src/mesa/drivers/dri/r200/r200_context.c | 1 + >> > src/mesa/drivers/dri/r200/r200_context.h | 1 + >> > src/mesa/drivers/dri/radeon/radeon_context.c | 1 + >> > src/mesa/drivers/dri/radeon/radeon_context.h | 1 + >> > src/mesa/drivers/dri/swrast/swrast.c | 1 + >> > 16 files changed, 77 insertions(+), 30 deletions(-) >> > >> > diff --git a/include/GL/internal/dri_interface.h >> > b/include/GL/internal/dri_interface.h >> > index 9881ddcbb0..969d304a95 100644 >> > --- a/include/GL/internal/dri_interface.h >> > +++ b/include/GL/internal/dri_interface.h >> > @@ -1056,6 +1056,12 @@ struct __DRIdri2LoaderExtensionRec { >> > #define __DRI_CTX_RESET_LOSE_CONTEXT 1 >> > /*@}*/ >> > >> > +#define __DRI_CTX_ATTRIB_PRIORITY 4 >> > + >> > +#define __DRI_CTX_PRIORITY_LOW 0 >> > +#define __DRI_CTX_PRIORITY_MEDIUM 1 >> > +#define __DRI_CTX_PRIORITY_HIGH 2 >> > + >> Second Ben's question here - reuse the HAS_CTX_PRIO defines if you prefer. > > I still haven't found a way I can cleanly include the same definitions > into both the EGL and DRI2 interfaces. These bits get pulled into the > core EGL via the egl_dri2 module and used by drivers via the dri > interface. There doesn't seem to be any overlap between the core where > we want to report the information to the client, and the driver talking > dri (not egl). > Seems like I wasn't clear - I was wondering about reusing __DRI2_RENDERER_HAS_CONTEXT_PRIORITY_* here.
> I'm going to have to leave this to someone more familiar, if we do run > into a situation where the bits need updating. Sure thing - it was a very minor suggestion. With 17.1 branched the file to update is docs/relnotes/17.2.0.html Thanks Emil _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
