Re: [Mesa-dev] [PATCH 1/6] gallium: plumb context priority through to driver

2017-10-09 Thread Andres Rodriguez



On 2017-10-05 11:29 AM, Nicolai Hähnle wrote:

On 04.10.2017 23:02, Rob Clark wrote:
On Wed, Oct 4, 2017 at 3:33 PM, Roland Scheidegger 
 wrote:

Am 04.10.2017 um 17:44 schrieb Rob Clark:

Signed-off-by: Rob Clark 
---
  src/gallium/drivers/etnaviv/etnaviv_screen.c    |  1 +
  src/gallium/drivers/freedreno/freedreno_screen.c    |  1 +
  src/gallium/drivers/i915/i915_screen.c  |  1 +
  src/gallium/drivers/llvmpipe/lp_screen.c    |  1 +
  src/gallium/drivers/nouveau/nv30/nv30_screen.c  |  1 +
  src/gallium/drivers/nouveau/nv50/nv50_screen.c  |  1 +
  src/gallium/drivers/nouveau/nvc0/nvc0_screen.c  |  1 +
  src/gallium/drivers/r300/r300_screen.c  |  1 +
  src/gallium/drivers/r600/r600_pipe.c    |  1 +
  src/gallium/drivers/radeonsi/si_pipe.c  |  1 +
  src/gallium/drivers/softpipe/sp_screen.c    |  1 +
  src/gallium/drivers/svga/svga_screen.c  |  1 +
  src/gallium/drivers/swr/swr_screen.cpp  |  1 +
  src/gallium/drivers/vc4/vc4_screen.c    |  1 +
  src/gallium/drivers/virgl/virgl_screen.c    |  1 +
  src/gallium/include/pipe/p_defines.h    | 21 
+

  src/gallium/include/state_tracker/st_api.h  |  2 ++
  src/gallium/state_trackers/dri/dri_context.c    | 11 +++
  src/gallium/state_trackers/dri/dri_query_renderer.c |  8 +++-
  src/mesa/state_tracker/st_manager.c |  5 +
  20 files changed, 61 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c 
b/src/gallium/drivers/etnaviv/etnaviv_screen.c

index 42905ab0620..16bd4b7c0fb 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_screen.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c
@@ -264,6 +264,7 @@ etna_screen_get_param(struct pipe_screen 
*pscreen, enum pipe_cap param)

 case PIPE_CAP_QUERY_SO_OVERFLOW:
 case PIPE_CAP_MEMOBJ:
 case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
    return 0;

 /* Stream output. */
diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c 
b/src/gallium/drivers/freedreno/freedreno_screen.c

index 040c2c99ec0..96866d656be 100644
--- a/src/gallium/drivers/freedreno/freedreno_screen.c
+++ b/src/gallium/drivers/freedreno/freedreno_screen.c
@@ -325,6 +325,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, 
enum pipe_cap param)

   case PIPE_CAP_QUERY_SO_OVERFLOW:
   case PIPE_CAP_MEMOBJ:
   case PIPE_CAP_LOAD_CONSTBUF:
+ case PIPE_CAP_CONTEXT_PRIORITY_MASK:
   return 0;

   case PIPE_CAP_MAX_VIEWPORTS:
diff --git a/src/gallium/drivers/i915/i915_screen.c 
b/src/gallium/drivers/i915/i915_screen.c

index 8411c0f15cc..7bcf479c4be 100644
--- a/src/gallium/drivers/i915/i915_screen.c
+++ b/src/gallium/drivers/i915/i915_screen.c
@@ -317,6 +317,7 @@ i915_get_param(struct pipe_screen *screen, enum 
pipe_cap cap)

 case PIPE_CAP_QUERY_SO_OVERFLOW:
 case PIPE_CAP_MEMOBJ:
 case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
    return 0;

 case PIPE_CAP_MAX_VIEWPORTS:
diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c 
b/src/gallium/drivers/llvmpipe/lp_screen.c

index 53171162a54..19411adaf07 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -360,6 +360,7 @@ llvmpipe_get_param(struct pipe_screen *screen, 
enum pipe_cap param)

 case PIPE_CAP_NIR_SAMPLERS_AS_DEREF:
 case PIPE_CAP_MEMOBJ:
 case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
    return 0;
 }
 /* should only get here on unhandled cases */
diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c 
b/src/gallium/drivers/nouveau/nv30/nv30_screen.c

index a66b4fbe67b..782ba0a64db 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
@@ -224,6 +224,7 @@ nv30_screen_get_param(struct pipe_screen 
*pscreen, enum pipe_cap param)

 case PIPE_CAP_QUERY_SO_OVERFLOW:
 case PIPE_CAP_MEMOBJ:
 case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
    return 0;

 case PIPE_CAP_VENDOR_ID:
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c 
b/src/gallium/drivers/nouveau/nv50/nv50_screen.c

index 479283e1b7c..997cb4e71dc 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
@@ -276,6 +276,7 @@ nv50_screen_get_param(struct pipe_screen 
*pscreen, enum pipe_cap param)

 case PIPE_CAP_QUERY_SO_OVERFLOW:
 case PIPE_CAP_MEMOBJ:
 case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
    return 0;

 case PIPE_CAP_VENDOR_ID:
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c 
b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c

index ac850c493da..05913bccb65 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen

Re: [Mesa-dev] [PATCH 1/6] gallium: plumb context priority through to driver

2017-10-05 Thread Nicolai Hähnle

On 04.10.2017 23:02, Rob Clark wrote:

On Wed, Oct 4, 2017 at 3:33 PM, Roland Scheidegger  wrote:

Am 04.10.2017 um 17:44 schrieb Rob Clark:

Signed-off-by: Rob Clark 
---
  src/gallium/drivers/etnaviv/etnaviv_screen.c|  1 +
  src/gallium/drivers/freedreno/freedreno_screen.c|  1 +
  src/gallium/drivers/i915/i915_screen.c  |  1 +
  src/gallium/drivers/llvmpipe/lp_screen.c|  1 +
  src/gallium/drivers/nouveau/nv30/nv30_screen.c  |  1 +
  src/gallium/drivers/nouveau/nv50/nv50_screen.c  |  1 +
  src/gallium/drivers/nouveau/nvc0/nvc0_screen.c  |  1 +
  src/gallium/drivers/r300/r300_screen.c  |  1 +
  src/gallium/drivers/r600/r600_pipe.c|  1 +
  src/gallium/drivers/radeonsi/si_pipe.c  |  1 +
  src/gallium/drivers/softpipe/sp_screen.c|  1 +
  src/gallium/drivers/svga/svga_screen.c  |  1 +
  src/gallium/drivers/swr/swr_screen.cpp  |  1 +
  src/gallium/drivers/vc4/vc4_screen.c|  1 +
  src/gallium/drivers/virgl/virgl_screen.c|  1 +
  src/gallium/include/pipe/p_defines.h| 21 +
  src/gallium/include/state_tracker/st_api.h  |  2 ++
  src/gallium/state_trackers/dri/dri_context.c| 11 +++
  src/gallium/state_trackers/dri/dri_query_renderer.c |  8 +++-
  src/mesa/state_tracker/st_manager.c |  5 +
  20 files changed, 61 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c 
b/src/gallium/drivers/etnaviv/etnaviv_screen.c
index 42905ab0620..16bd4b7c0fb 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_screen.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c
@@ -264,6 +264,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
 case PIPE_CAP_QUERY_SO_OVERFLOW:
 case PIPE_CAP_MEMOBJ:
 case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
return 0;

 /* Stream output. */
diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c 
b/src/gallium/drivers/freedreno/freedreno_screen.c
index 040c2c99ec0..96866d656be 100644
--- a/src/gallium/drivers/freedreno/freedreno_screen.c
+++ b/src/gallium/drivers/freedreno/freedreno_screen.c
@@ -325,6 +325,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
   case PIPE_CAP_QUERY_SO_OVERFLOW:
   case PIPE_CAP_MEMOBJ:
   case PIPE_CAP_LOAD_CONSTBUF:
+ case PIPE_CAP_CONTEXT_PRIORITY_MASK:
   return 0;

   case PIPE_CAP_MAX_VIEWPORTS:
diff --git a/src/gallium/drivers/i915/i915_screen.c 
b/src/gallium/drivers/i915/i915_screen.c
index 8411c0f15cc..7bcf479c4be 100644
--- a/src/gallium/drivers/i915/i915_screen.c
+++ b/src/gallium/drivers/i915/i915_screen.c
@@ -317,6 +317,7 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap 
cap)
 case PIPE_CAP_QUERY_SO_OVERFLOW:
 case PIPE_CAP_MEMOBJ:
 case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
return 0;

 case PIPE_CAP_MAX_VIEWPORTS:
diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c 
b/src/gallium/drivers/llvmpipe/lp_screen.c
index 53171162a54..19411adaf07 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -360,6 +360,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum 
pipe_cap param)
 case PIPE_CAP_NIR_SAMPLERS_AS_DEREF:
 case PIPE_CAP_MEMOBJ:
 case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
return 0;
 }
 /* should only get here on unhandled cases */
diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c 
b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
index a66b4fbe67b..782ba0a64db 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
@@ -224,6 +224,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
 case PIPE_CAP_QUERY_SO_OVERFLOW:
 case PIPE_CAP_MEMOBJ:
 case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
return 0;

 case PIPE_CAP_VENDOR_ID:
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c 
b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
index 479283e1b7c..997cb4e71dc 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
@@ -276,6 +276,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
 case PIPE_CAP_QUERY_SO_OVERFLOW:
 case PIPE_CAP_MEMOBJ:
 case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
return 0;

 case PIPE_CAP_VENDOR_ID:
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c 
b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
index ac850c493da..05913bccb65 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
@@ -305,6 +305,7 @@ nvc0_screen_get_param(struct pipe_screen 

Re: [Mesa-dev] [PATCH 1/6] gallium: plumb context priority through to driver

2017-10-05 Thread Wladimir J. van der Laan
On Wed, Oct 04, 2017 at 11:44:32AM -0400, Rob Clark wrote:
> Signed-off-by: Rob Clark 

Reviewed etnaviv change only.

Reviewed-by: Wladimir J. van der Laan 

> ---
>  src/gallium/drivers/etnaviv/etnaviv_screen.c|  1 +
>  src/gallium/drivers/freedreno/freedreno_screen.c|  1 +
>  src/gallium/drivers/i915/i915_screen.c  |  1 +
>  src/gallium/drivers/llvmpipe/lp_screen.c|  1 +
>  src/gallium/drivers/nouveau/nv30/nv30_screen.c  |  1 +
>  src/gallium/drivers/nouveau/nv50/nv50_screen.c  |  1 +
>  src/gallium/drivers/nouveau/nvc0/nvc0_screen.c  |  1 +
>  src/gallium/drivers/r300/r300_screen.c  |  1 +
>  src/gallium/drivers/r600/r600_pipe.c|  1 +
>  src/gallium/drivers/radeonsi/si_pipe.c  |  1 +
>  src/gallium/drivers/softpipe/sp_screen.c|  1 +
>  src/gallium/drivers/svga/svga_screen.c  |  1 +
>  src/gallium/drivers/swr/swr_screen.cpp  |  1 +
>  src/gallium/drivers/vc4/vc4_screen.c|  1 +
>  src/gallium/drivers/virgl/virgl_screen.c|  1 +
>  src/gallium/include/pipe/p_defines.h| 21 
> +
>  src/gallium/include/state_tracker/st_api.h  |  2 ++
>  src/gallium/state_trackers/dri/dri_context.c| 11 +++
>  src/gallium/state_trackers/dri/dri_query_renderer.c |  8 +++-
>  src/mesa/state_tracker/st_manager.c |  5 +
>  20 files changed, 61 insertions(+), 1 deletion(-)
> 
> diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c 
> b/src/gallium/drivers/etnaviv/etnaviv_screen.c
> index 42905ab0620..16bd4b7c0fb 100644
> --- a/src/gallium/drivers/etnaviv/etnaviv_screen.c
> +++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c
> @@ -264,6 +264,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum 
> pipe_cap param)
> case PIPE_CAP_QUERY_SO_OVERFLOW:
> case PIPE_CAP_MEMOBJ:
> case PIPE_CAP_LOAD_CONSTBUF:
> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>return 0;
>  
> /* Stream output. */
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 1/6] gallium: plumb context priority through to driver

2017-10-04 Thread Andres Rodriguez

This should be good for radeonsi to implement the feature as well.

FWIW:
Reviewed-by: Andres Rodriguez 

Little bikeshed comment.

I'm a little iffy about using a mask instead of an enum for priority 
values. It limits the flexibility on the number of levels drastically. 
Since you can't really be at two different priority levels 
simultaneously, this seems like a waste.


As long as we don't have a need for more than a handful of priority 
levels this should be okay. And if the requirement changes, it can be 
dealt with in the future.


Regards,
Andres

On 2017-10-04 11:44 AM, Rob Clark wrote:

Signed-off-by: Rob Clark 
---
  src/gallium/drivers/etnaviv/etnaviv_screen.c|  1 +
  src/gallium/drivers/freedreno/freedreno_screen.c|  1 +
  src/gallium/drivers/i915/i915_screen.c  |  1 +
  src/gallium/drivers/llvmpipe/lp_screen.c|  1 +
  src/gallium/drivers/nouveau/nv30/nv30_screen.c  |  1 +
  src/gallium/drivers/nouveau/nv50/nv50_screen.c  |  1 +
  src/gallium/drivers/nouveau/nvc0/nvc0_screen.c  |  1 +
  src/gallium/drivers/r300/r300_screen.c  |  1 +
  src/gallium/drivers/r600/r600_pipe.c|  1 +
  src/gallium/drivers/radeonsi/si_pipe.c  |  1 +
  src/gallium/drivers/softpipe/sp_screen.c|  1 +
  src/gallium/drivers/svga/svga_screen.c  |  1 +
  src/gallium/drivers/swr/swr_screen.cpp  |  1 +
  src/gallium/drivers/vc4/vc4_screen.c|  1 +
  src/gallium/drivers/virgl/virgl_screen.c|  1 +
  src/gallium/include/pipe/p_defines.h| 21 +
  src/gallium/include/state_tracker/st_api.h  |  2 ++
  src/gallium/state_trackers/dri/dri_context.c| 11 +++
  src/gallium/state_trackers/dri/dri_query_renderer.c |  8 +++-
  src/mesa/state_tracker/st_manager.c |  5 +
  20 files changed, 61 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c 
b/src/gallium/drivers/etnaviv/etnaviv_screen.c
index 42905ab0620..16bd4b7c0fb 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_screen.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c
@@ -264,6 +264,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
 case PIPE_CAP_QUERY_SO_OVERFLOW:
 case PIPE_CAP_MEMOBJ:
 case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
return 0;
  
 /* Stream output. */

diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c 
b/src/gallium/drivers/freedreno/freedreno_screen.c
index 040c2c99ec0..96866d656be 100644
--- a/src/gallium/drivers/freedreno/freedreno_screen.c
+++ b/src/gallium/drivers/freedreno/freedreno_screen.c
@@ -325,6 +325,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
case PIPE_CAP_QUERY_SO_OVERFLOW:
case PIPE_CAP_MEMOBJ:
case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
return 0;
  
  	case PIPE_CAP_MAX_VIEWPORTS:

diff --git a/src/gallium/drivers/i915/i915_screen.c 
b/src/gallium/drivers/i915/i915_screen.c
index 8411c0f15cc..7bcf479c4be 100644
--- a/src/gallium/drivers/i915/i915_screen.c
+++ b/src/gallium/drivers/i915/i915_screen.c
@@ -317,6 +317,7 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap 
cap)
 case PIPE_CAP_QUERY_SO_OVERFLOW:
 case PIPE_CAP_MEMOBJ:
 case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
return 0;
  
 case PIPE_CAP_MAX_VIEWPORTS:

diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c 
b/src/gallium/drivers/llvmpipe/lp_screen.c
index 53171162a54..19411adaf07 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -360,6 +360,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum 
pipe_cap param)
 case PIPE_CAP_NIR_SAMPLERS_AS_DEREF:
 case PIPE_CAP_MEMOBJ:
 case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
return 0;
 }
 /* should only get here on unhandled cases */
diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c 
b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
index a66b4fbe67b..782ba0a64db 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
@@ -224,6 +224,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
 case PIPE_CAP_QUERY_SO_OVERFLOW:
 case PIPE_CAP_MEMOBJ:
 case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
return 0;
  
 case PIPE_CAP_VENDOR_ID:

diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c 
b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
index 479283e1b7c..997cb4e71dc 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
@@ -276,6 +276,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
 case PIPE_CAP_QUERY_SO_

Re: [Mesa-dev] [PATCH 1/6] gallium: plumb context priority through to driver

2017-10-04 Thread Rob Clark
On Wed, Oct 4, 2017 at 3:33 PM, Roland Scheidegger  wrote:
> Am 04.10.2017 um 17:44 schrieb Rob Clark:
>> Signed-off-by: Rob Clark 
>> ---
>>  src/gallium/drivers/etnaviv/etnaviv_screen.c|  1 +
>>  src/gallium/drivers/freedreno/freedreno_screen.c|  1 +
>>  src/gallium/drivers/i915/i915_screen.c  |  1 +
>>  src/gallium/drivers/llvmpipe/lp_screen.c|  1 +
>>  src/gallium/drivers/nouveau/nv30/nv30_screen.c  |  1 +
>>  src/gallium/drivers/nouveau/nv50/nv50_screen.c  |  1 +
>>  src/gallium/drivers/nouveau/nvc0/nvc0_screen.c  |  1 +
>>  src/gallium/drivers/r300/r300_screen.c  |  1 +
>>  src/gallium/drivers/r600/r600_pipe.c|  1 +
>>  src/gallium/drivers/radeonsi/si_pipe.c  |  1 +
>>  src/gallium/drivers/softpipe/sp_screen.c|  1 +
>>  src/gallium/drivers/svga/svga_screen.c  |  1 +
>>  src/gallium/drivers/swr/swr_screen.cpp  |  1 +
>>  src/gallium/drivers/vc4/vc4_screen.c|  1 +
>>  src/gallium/drivers/virgl/virgl_screen.c|  1 +
>>  src/gallium/include/pipe/p_defines.h| 21 
>> +
>>  src/gallium/include/state_tracker/st_api.h  |  2 ++
>>  src/gallium/state_trackers/dri/dri_context.c| 11 +++
>>  src/gallium/state_trackers/dri/dri_query_renderer.c |  8 +++-
>>  src/mesa/state_tracker/st_manager.c |  5 +
>>  20 files changed, 61 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c 
>> b/src/gallium/drivers/etnaviv/etnaviv_screen.c
>> index 42905ab0620..16bd4b7c0fb 100644
>> --- a/src/gallium/drivers/etnaviv/etnaviv_screen.c
>> +++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c
>> @@ -264,6 +264,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum 
>> pipe_cap param)
>> case PIPE_CAP_QUERY_SO_OVERFLOW:
>> case PIPE_CAP_MEMOBJ:
>> case PIPE_CAP_LOAD_CONSTBUF:
>> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>>return 0;
>>
>> /* Stream output. */
>> diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c 
>> b/src/gallium/drivers/freedreno/freedreno_screen.c
>> index 040c2c99ec0..96866d656be 100644
>> --- a/src/gallium/drivers/freedreno/freedreno_screen.c
>> +++ b/src/gallium/drivers/freedreno/freedreno_screen.c
>> @@ -325,6 +325,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum 
>> pipe_cap param)
>>   case PIPE_CAP_QUERY_SO_OVERFLOW:
>>   case PIPE_CAP_MEMOBJ:
>>   case PIPE_CAP_LOAD_CONSTBUF:
>> + case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>>   return 0;
>>
>>   case PIPE_CAP_MAX_VIEWPORTS:
>> diff --git a/src/gallium/drivers/i915/i915_screen.c 
>> b/src/gallium/drivers/i915/i915_screen.c
>> index 8411c0f15cc..7bcf479c4be 100644
>> --- a/src/gallium/drivers/i915/i915_screen.c
>> +++ b/src/gallium/drivers/i915/i915_screen.c
>> @@ -317,6 +317,7 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap 
>> cap)
>> case PIPE_CAP_QUERY_SO_OVERFLOW:
>> case PIPE_CAP_MEMOBJ:
>> case PIPE_CAP_LOAD_CONSTBUF:
>> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>>return 0;
>>
>> case PIPE_CAP_MAX_VIEWPORTS:
>> diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c 
>> b/src/gallium/drivers/llvmpipe/lp_screen.c
>> index 53171162a54..19411adaf07 100644
>> --- a/src/gallium/drivers/llvmpipe/lp_screen.c
>> +++ b/src/gallium/drivers/llvmpipe/lp_screen.c
>> @@ -360,6 +360,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum 
>> pipe_cap param)
>> case PIPE_CAP_NIR_SAMPLERS_AS_DEREF:
>> case PIPE_CAP_MEMOBJ:
>> case PIPE_CAP_LOAD_CONSTBUF:
>> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>>return 0;
>> }
>> /* should only get here on unhandled cases */
>> diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c 
>> b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
>> index a66b4fbe67b..782ba0a64db 100644
>> --- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
>> +++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
>> @@ -224,6 +224,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum 
>> pipe_cap param)
>> case PIPE_CAP_QUERY_SO_OVERFLOW:
>> case PIPE_CAP_MEMOBJ:
>> case PIPE_CAP_LOAD_CONSTBUF:
>> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>>return 0;
>>
>> case PIPE_CAP_VENDOR_ID:
>> diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c 
>> b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
>> index 479283e1b7c..997cb4e71dc 100644
>> --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c
>> +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
>> @@ -276,6 +276,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum 
>> pipe_cap param)
>> case PIPE_CAP_QUERY_SO_OVERFLOW:
>> case PIPE_CAP_MEMOBJ:
>> case PIPE_CAP_LOAD_CONSTBUF:
>> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>>return 0;
>>
>> case PIPE_CAP_VENDOR_ID:
>> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c 
>> b/src/gallium/driv

Re: [Mesa-dev] [PATCH 1/6] gallium: plumb context priority through to driver

2017-10-04 Thread Marek Olšák
What others said, and yes radeonsi shouldn't expose the extension.
Other than those:

Reviewed-by: Marek Olšák 

Marek

On Wed, Oct 4, 2017 at 5:44 PM, Rob Clark  wrote:
> Signed-off-by: Rob Clark 
> ---
>  src/gallium/drivers/etnaviv/etnaviv_screen.c|  1 +
>  src/gallium/drivers/freedreno/freedreno_screen.c|  1 +
>  src/gallium/drivers/i915/i915_screen.c  |  1 +
>  src/gallium/drivers/llvmpipe/lp_screen.c|  1 +
>  src/gallium/drivers/nouveau/nv30/nv30_screen.c  |  1 +
>  src/gallium/drivers/nouveau/nv50/nv50_screen.c  |  1 +
>  src/gallium/drivers/nouveau/nvc0/nvc0_screen.c  |  1 +
>  src/gallium/drivers/r300/r300_screen.c  |  1 +
>  src/gallium/drivers/r600/r600_pipe.c|  1 +
>  src/gallium/drivers/radeonsi/si_pipe.c  |  1 +
>  src/gallium/drivers/softpipe/sp_screen.c|  1 +
>  src/gallium/drivers/svga/svga_screen.c  |  1 +
>  src/gallium/drivers/swr/swr_screen.cpp  |  1 +
>  src/gallium/drivers/vc4/vc4_screen.c|  1 +
>  src/gallium/drivers/virgl/virgl_screen.c|  1 +
>  src/gallium/include/pipe/p_defines.h| 21 
> +
>  src/gallium/include/state_tracker/st_api.h  |  2 ++
>  src/gallium/state_trackers/dri/dri_context.c| 11 +++
>  src/gallium/state_trackers/dri/dri_query_renderer.c |  8 +++-
>  src/mesa/state_tracker/st_manager.c |  5 +
>  20 files changed, 61 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c 
> b/src/gallium/drivers/etnaviv/etnaviv_screen.c
> index 42905ab0620..16bd4b7c0fb 100644
> --- a/src/gallium/drivers/etnaviv/etnaviv_screen.c
> +++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c
> @@ -264,6 +264,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum 
> pipe_cap param)
> case PIPE_CAP_QUERY_SO_OVERFLOW:
> case PIPE_CAP_MEMOBJ:
> case PIPE_CAP_LOAD_CONSTBUF:
> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>return 0;
>
> /* Stream output. */
> diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c 
> b/src/gallium/drivers/freedreno/freedreno_screen.c
> index 040c2c99ec0..96866d656be 100644
> --- a/src/gallium/drivers/freedreno/freedreno_screen.c
> +++ b/src/gallium/drivers/freedreno/freedreno_screen.c
> @@ -325,6 +325,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum 
> pipe_cap param)
> case PIPE_CAP_QUERY_SO_OVERFLOW:
> case PIPE_CAP_MEMOBJ:
> case PIPE_CAP_LOAD_CONSTBUF:
> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
> return 0;
>
> case PIPE_CAP_MAX_VIEWPORTS:
> diff --git a/src/gallium/drivers/i915/i915_screen.c 
> b/src/gallium/drivers/i915/i915_screen.c
> index 8411c0f15cc..7bcf479c4be 100644
> --- a/src/gallium/drivers/i915/i915_screen.c
> +++ b/src/gallium/drivers/i915/i915_screen.c
> @@ -317,6 +317,7 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap 
> cap)
> case PIPE_CAP_QUERY_SO_OVERFLOW:
> case PIPE_CAP_MEMOBJ:
> case PIPE_CAP_LOAD_CONSTBUF:
> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>return 0;
>
> case PIPE_CAP_MAX_VIEWPORTS:
> diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c 
> b/src/gallium/drivers/llvmpipe/lp_screen.c
> index 53171162a54..19411adaf07 100644
> --- a/src/gallium/drivers/llvmpipe/lp_screen.c
> +++ b/src/gallium/drivers/llvmpipe/lp_screen.c
> @@ -360,6 +360,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum 
> pipe_cap param)
> case PIPE_CAP_NIR_SAMPLERS_AS_DEREF:
> case PIPE_CAP_MEMOBJ:
> case PIPE_CAP_LOAD_CONSTBUF:
> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>return 0;
> }
> /* should only get here on unhandled cases */
> diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c 
> b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
> index a66b4fbe67b..782ba0a64db 100644
> --- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
> +++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
> @@ -224,6 +224,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum 
> pipe_cap param)
> case PIPE_CAP_QUERY_SO_OVERFLOW:
> case PIPE_CAP_MEMOBJ:
> case PIPE_CAP_LOAD_CONSTBUF:
> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>return 0;
>
> case PIPE_CAP_VENDOR_ID:
> diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c 
> b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
> index 479283e1b7c..997cb4e71dc 100644
> --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c
> +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
> @@ -276,6 +276,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum 
> pipe_cap param)
> case PIPE_CAP_QUERY_SO_OVERFLOW:
> case PIPE_CAP_MEMOBJ:
> case PIPE_CAP_LOAD_CONSTBUF:
> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>return 0;
>
> case PIPE_CAP_VENDOR_ID:
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c 
> b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
>

Re: [Mesa-dev] [PATCH 1/6] gallium: plumb context priority through to driver

2017-10-04 Thread Roland Scheidegger
Am 04.10.2017 um 17:44 schrieb Rob Clark:
> Signed-off-by: Rob Clark 
> ---
>  src/gallium/drivers/etnaviv/etnaviv_screen.c|  1 +
>  src/gallium/drivers/freedreno/freedreno_screen.c|  1 +
>  src/gallium/drivers/i915/i915_screen.c  |  1 +
>  src/gallium/drivers/llvmpipe/lp_screen.c|  1 +
>  src/gallium/drivers/nouveau/nv30/nv30_screen.c  |  1 +
>  src/gallium/drivers/nouveau/nv50/nv50_screen.c  |  1 +
>  src/gallium/drivers/nouveau/nvc0/nvc0_screen.c  |  1 +
>  src/gallium/drivers/r300/r300_screen.c  |  1 +
>  src/gallium/drivers/r600/r600_pipe.c|  1 +
>  src/gallium/drivers/radeonsi/si_pipe.c  |  1 +
>  src/gallium/drivers/softpipe/sp_screen.c|  1 +
>  src/gallium/drivers/svga/svga_screen.c  |  1 +
>  src/gallium/drivers/swr/swr_screen.cpp  |  1 +
>  src/gallium/drivers/vc4/vc4_screen.c|  1 +
>  src/gallium/drivers/virgl/virgl_screen.c|  1 +
>  src/gallium/include/pipe/p_defines.h| 21 
> +
>  src/gallium/include/state_tracker/st_api.h  |  2 ++
>  src/gallium/state_trackers/dri/dri_context.c| 11 +++
>  src/gallium/state_trackers/dri/dri_query_renderer.c |  8 +++-
>  src/mesa/state_tracker/st_manager.c |  5 +
>  20 files changed, 61 insertions(+), 1 deletion(-)
> 
> diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c 
> b/src/gallium/drivers/etnaviv/etnaviv_screen.c
> index 42905ab0620..16bd4b7c0fb 100644
> --- a/src/gallium/drivers/etnaviv/etnaviv_screen.c
> +++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c
> @@ -264,6 +264,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum 
> pipe_cap param)
> case PIPE_CAP_QUERY_SO_OVERFLOW:
> case PIPE_CAP_MEMOBJ:
> case PIPE_CAP_LOAD_CONSTBUF:
> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>return 0;
>  
> /* Stream output. */
> diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c 
> b/src/gallium/drivers/freedreno/freedreno_screen.c
> index 040c2c99ec0..96866d656be 100644
> --- a/src/gallium/drivers/freedreno/freedreno_screen.c
> +++ b/src/gallium/drivers/freedreno/freedreno_screen.c
> @@ -325,6 +325,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum 
> pipe_cap param)
>   case PIPE_CAP_QUERY_SO_OVERFLOW:
>   case PIPE_CAP_MEMOBJ:
>   case PIPE_CAP_LOAD_CONSTBUF:
> + case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>   return 0;
>  
>   case PIPE_CAP_MAX_VIEWPORTS:
> diff --git a/src/gallium/drivers/i915/i915_screen.c 
> b/src/gallium/drivers/i915/i915_screen.c
> index 8411c0f15cc..7bcf479c4be 100644
> --- a/src/gallium/drivers/i915/i915_screen.c
> +++ b/src/gallium/drivers/i915/i915_screen.c
> @@ -317,6 +317,7 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap 
> cap)
> case PIPE_CAP_QUERY_SO_OVERFLOW:
> case PIPE_CAP_MEMOBJ:
> case PIPE_CAP_LOAD_CONSTBUF:
> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>return 0;
>  
> case PIPE_CAP_MAX_VIEWPORTS:
> diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c 
> b/src/gallium/drivers/llvmpipe/lp_screen.c
> index 53171162a54..19411adaf07 100644
> --- a/src/gallium/drivers/llvmpipe/lp_screen.c
> +++ b/src/gallium/drivers/llvmpipe/lp_screen.c
> @@ -360,6 +360,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum 
> pipe_cap param)
> case PIPE_CAP_NIR_SAMPLERS_AS_DEREF:
> case PIPE_CAP_MEMOBJ:
> case PIPE_CAP_LOAD_CONSTBUF:
> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>return 0;
> }
> /* should only get here on unhandled cases */
> diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c 
> b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
> index a66b4fbe67b..782ba0a64db 100644
> --- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
> +++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
> @@ -224,6 +224,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum 
> pipe_cap param)
> case PIPE_CAP_QUERY_SO_OVERFLOW:
> case PIPE_CAP_MEMOBJ:
> case PIPE_CAP_LOAD_CONSTBUF:
> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>return 0;
>  
> case PIPE_CAP_VENDOR_ID:
> diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c 
> b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
> index 479283e1b7c..997cb4e71dc 100644
> --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c
> +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
> @@ -276,6 +276,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum 
> pipe_cap param)
> case PIPE_CAP_QUERY_SO_OVERFLOW:
> case PIPE_CAP_MEMOBJ:
> case PIPE_CAP_LOAD_CONSTBUF:
> +   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
>return 0;
>  
> case PIPE_CAP_VENDOR_ID:
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c 
> b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> index ac850c493da..05913bccb65 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> +++ b/src/gallium/drivers/nouveau

Re: [Mesa-dev] [PATCH 1/6] gallium: plumb context priority through to driver

2017-10-04 Thread Brian Paul

On 10/04/2017 09:44 AM, Rob Clark wrote:

Signed-off-by: Rob Clark 
---
  src/gallium/drivers/etnaviv/etnaviv_screen.c|  1 +
  src/gallium/drivers/freedreno/freedreno_screen.c|  1 +
  src/gallium/drivers/i915/i915_screen.c  |  1 +
  src/gallium/drivers/llvmpipe/lp_screen.c|  1 +
  src/gallium/drivers/nouveau/nv30/nv30_screen.c  |  1 +
  src/gallium/drivers/nouveau/nv50/nv50_screen.c  |  1 +
  src/gallium/drivers/nouveau/nvc0/nvc0_screen.c  |  1 +
  src/gallium/drivers/r300/r300_screen.c  |  1 +
  src/gallium/drivers/r600/r600_pipe.c|  1 +
  src/gallium/drivers/radeonsi/si_pipe.c  |  1 +
  src/gallium/drivers/softpipe/sp_screen.c|  1 +
  src/gallium/drivers/svga/svga_screen.c  |  1 +
  src/gallium/drivers/swr/swr_screen.cpp  |  1 +
  src/gallium/drivers/vc4/vc4_screen.c|  1 +
  src/gallium/drivers/virgl/virgl_screen.c|  1 +
  src/gallium/include/pipe/p_defines.h| 21 +
  src/gallium/include/state_tracker/st_api.h  |  2 ++
  src/gallium/state_trackers/dri/dri_context.c| 11 +++
  src/gallium/state_trackers/dri/dri_query_renderer.c |  8 +++-
  src/mesa/state_tracker/st_manager.c |  5 +
  20 files changed, 61 insertions(+), 1 deletion(-)


Can you document the new CAP in src/gallium/docs/?

-Brian


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


[Mesa-dev] [PATCH 1/6] gallium: plumb context priority through to driver

2017-10-04 Thread Rob Clark
Signed-off-by: Rob Clark 
---
 src/gallium/drivers/etnaviv/etnaviv_screen.c|  1 +
 src/gallium/drivers/freedreno/freedreno_screen.c|  1 +
 src/gallium/drivers/i915/i915_screen.c  |  1 +
 src/gallium/drivers/llvmpipe/lp_screen.c|  1 +
 src/gallium/drivers/nouveau/nv30/nv30_screen.c  |  1 +
 src/gallium/drivers/nouveau/nv50/nv50_screen.c  |  1 +
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c  |  1 +
 src/gallium/drivers/r300/r300_screen.c  |  1 +
 src/gallium/drivers/r600/r600_pipe.c|  1 +
 src/gallium/drivers/radeonsi/si_pipe.c  |  1 +
 src/gallium/drivers/softpipe/sp_screen.c|  1 +
 src/gallium/drivers/svga/svga_screen.c  |  1 +
 src/gallium/drivers/swr/swr_screen.cpp  |  1 +
 src/gallium/drivers/vc4/vc4_screen.c|  1 +
 src/gallium/drivers/virgl/virgl_screen.c|  1 +
 src/gallium/include/pipe/p_defines.h| 21 +
 src/gallium/include/state_tracker/st_api.h  |  2 ++
 src/gallium/state_trackers/dri/dri_context.c| 11 +++
 src/gallium/state_trackers/dri/dri_query_renderer.c |  8 +++-
 src/mesa/state_tracker/st_manager.c |  5 +
 20 files changed, 61 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c 
b/src/gallium/drivers/etnaviv/etnaviv_screen.c
index 42905ab0620..16bd4b7c0fb 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_screen.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c
@@ -264,6 +264,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
case PIPE_CAP_QUERY_SO_OVERFLOW:
case PIPE_CAP_MEMOBJ:
case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
   return 0;
 
/* Stream output. */
diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c 
b/src/gallium/drivers/freedreno/freedreno_screen.c
index 040c2c99ec0..96866d656be 100644
--- a/src/gallium/drivers/freedreno/freedreno_screen.c
+++ b/src/gallium/drivers/freedreno/freedreno_screen.c
@@ -325,6 +325,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
case PIPE_CAP_QUERY_SO_OVERFLOW:
case PIPE_CAP_MEMOBJ:
case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
return 0;
 
case PIPE_CAP_MAX_VIEWPORTS:
diff --git a/src/gallium/drivers/i915/i915_screen.c 
b/src/gallium/drivers/i915/i915_screen.c
index 8411c0f15cc..7bcf479c4be 100644
--- a/src/gallium/drivers/i915/i915_screen.c
+++ b/src/gallium/drivers/i915/i915_screen.c
@@ -317,6 +317,7 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap 
cap)
case PIPE_CAP_QUERY_SO_OVERFLOW:
case PIPE_CAP_MEMOBJ:
case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
   return 0;
 
case PIPE_CAP_MAX_VIEWPORTS:
diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c 
b/src/gallium/drivers/llvmpipe/lp_screen.c
index 53171162a54..19411adaf07 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -360,6 +360,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum 
pipe_cap param)
case PIPE_CAP_NIR_SAMPLERS_AS_DEREF:
case PIPE_CAP_MEMOBJ:
case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
   return 0;
}
/* should only get here on unhandled cases */
diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c 
b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
index a66b4fbe67b..782ba0a64db 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
@@ -224,6 +224,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
case PIPE_CAP_QUERY_SO_OVERFLOW:
case PIPE_CAP_MEMOBJ:
case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
   return 0;
 
case PIPE_CAP_VENDOR_ID:
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c 
b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
index 479283e1b7c..997cb4e71dc 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
@@ -276,6 +276,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
case PIPE_CAP_QUERY_SO_OVERFLOW:
case PIPE_CAP_MEMOBJ:
case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
   return 0;
 
case PIPE_CAP_VENDOR_ID:
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c 
b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
index ac850c493da..05913bccb65 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
@@ -305,6 +305,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
case PIPE_CAP_QUERY_SO_OVERFLOW:
case PIPE_CAP_MEMOBJ:
case PIPE_CAP_LOAD_CONSTBUF:
+   case PIPE_CAP_CONTEXT_PRIORITY_MASK:
   re