[Mesa-dev] [PATCH 4/4] nouveau: Return PIPE_PACKING_CONSTRAINT_NO_MIXED_INTERPOLATION to vpack query

Vincent Lejeune vljn at ovi.com
Fri Feb 24 11:12:17 PST 2012


---
 src/gallium/drivers/nv50/nv50_screen.c |    2 ++
 src/gallium/drivers/nvc0/nvc0_screen.c |    3 +++
 src/gallium/drivers/nvfx/nvfx_screen.c |    4 ++++
 3 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c
index 1d53593..8845e60 100644
--- a/src/gallium/drivers/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nv50/nv50_screen.c
@@ -208,6 +208,8 @@ nv50_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
       return 32;
    case PIPE_SHADER_CAP_OUTPUT_READ:
       return 0; /* maybe support this for fragment shaders ? */
+   case PIPE_SHADER_CAP_VARYINGS_PACKING_CONSTRAINTS:
+      return PIPE_PACKING_CONSTRAINT_NO_MIXED_INTERPOLATION;
    default:
       NOUVEAU_ERR("unknown PIPE_SHADER_CAP %d\n", param);
       return 0;
diff --git a/src/gallium/drivers/nvc0/nvc0_screen.c b/src/gallium/drivers/nvc0/nvc0_screen.c
index abc04ab..d70d3a8 100644
--- a/src/gallium/drivers/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nvc0/nvc0_screen.c
@@ -143,6 +143,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    }
 }
 
+
 static int
 nvc0_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
                              enum pipe_shader_cap param)
@@ -204,6 +205,8 @@ nvc0_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
       */
    case PIPE_SHADER_CAP_OUTPUT_READ:
       return 0; /* shader != PIPE_SHADER_TESSELLATION_CONTROL; */
+   case PIPE_SHADER_CAP_VARYINGS_PACKING_CONSTRAINTS:
+      return PIPE_PACKING_CONSTRAINT_NO_MIXED_INTERPOLATION;
    default:
       NOUVEAU_ERR("unknown PIPE_SHADER_CAP %d\n", param);
       return 0;
diff --git a/src/gallium/drivers/nvfx/nvfx_screen.c b/src/gallium/drivers/nvfx/nvfx_screen.c
index 71e7c15..72cd25e 100644
--- a/src/gallium/drivers/nvfx/nvfx_screen.c
+++ b/src/gallium/drivers/nvfx/nvfx_screen.c
@@ -145,6 +145,8 @@ nvfx_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader, enum
 			return screen->use_nv4x ? 1 : 0;
 		case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
 			return 16;
+		case PIPE_SHADER_CAP_VARYINGS_PACKING_CONSTRAINTS:
+		   return NONE;
 		default:
 			break;
 		}
@@ -189,6 +191,8 @@ nvfx_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader, enum
 			return 0;
 		case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
 			return 0; /* We have 4 on nv40 - but unsupported currently */
+		case PIPE_SHADER_CAP_VARYINGS_PACKING_CONSTRAINTS:
+               return PIPE_PACKING_CONSTRAINT_NO_MIXED_INTERPOLATION;
 		default:
 			break;
 		}
-- 
1.7.7



More information about the mesa-dev mailing list