Ilia Mirkin
2014-Feb-11  05:42 UTC
[Nouveau] [PATCH] nv30,nvc0: only claim a single viewport
It should be possible to make this be 16 on nvc0.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
Not touching nv50 since I have a patch that actually impelents support for
multiple viewports there.
 src/gallium/drivers/nouveau/nv30/nv30_screen.c | 2 ++
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 2 ++
 2 files changed, 4 insertions(+)
diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
index 8eee06b..c027a5f 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
@@ -84,6 +84,8 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum
pipe_cap param)
       return 0;
    case PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT:
       return 16;
+   case PIPE_CAP_MAX_VIEWPORTS:
+      return 1;
    /* nv4x capabilities */
    case PIPE_CAP_BLEND_EQUATION_SEPARATE:
    case PIPE_CAP_NPOT_TEXTURES:
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
index f84c41b..28d9be2 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
@@ -175,6 +175,8 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum
pipe_cap param)
       return PIPE_ENDIAN_LITTLE;
    case PIPE_CAP_TGSI_VS_LAYER:
       return 0;
+   case PIPE_CAP_MAX_VIEWPORTS:
+      return 1;
    default:
       NOUVEAU_ERR("unknown PIPE_CAP %d\n", param);
       return 0;
-- 
1.8.3.2
Emil Velikov
2014-Feb-11  17:19 UTC
[Nouveau] [PATCH] nv30,nvc0: only claim a single viewport
On 11/02/14 05:42, Ilia Mirkin wrote:> It should be possible to make this be 16 on nvc0. > > Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com> I have some other patches in the queue and I'll push this shortly -Emil> --- > > Not touching nv50 since I have a patch that actually impelents support for > multiple viewports there. > > src/gallium/drivers/nouveau/nv30/nv30_screen.c | 2 ++ > src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 2 ++ > 2 files changed, 4 insertions(+) > > diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c b/src/gallium/drivers/nouveau/nv30/nv30_screen.c > index 8eee06b..c027a5f 100644 > --- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c > +++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c > @@ -84,6 +84,8 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) > return 0; > case PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT: > return 16; > + case PIPE_CAP_MAX_VIEWPORTS: > + return 1; > /* nv4x capabilities */ > case PIPE_CAP_BLEND_EQUATION_SEPARATE: > case PIPE_CAP_NPOT_TEXTURES: > diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > index f84c41b..28d9be2 100644 > --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > @@ -175,6 +175,8 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) > return PIPE_ENDIAN_LITTLE; > case PIPE_CAP_TGSI_VS_LAYER: > return 0; > + case PIPE_CAP_MAX_VIEWPORTS: > + return 1; > default: > NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); > return 0; >
Possibly Parallel Threads
- [PATCH 1/2] gallium: add PIPE_CAP_MIXED_FRAMEBUFFER_SIZES
- [Mesa-dev] [PATCH 1/2] gallium: add PIPE_CAP_MIXED_FRAMEBUFFER_SIZES
- [PATCH 1/3] nvc0: remove vport_int hack and instead use the usual state validation
- [PATCH 1/2] nv30: tidy screen caps, add missing ones
- [PATCH 1/2] nouveau: remove cb_dirty, it's never used