From f37c3a3335821c0d0e13238846b2726b3fdaba71 Mon Sep 17 00:00:00 2001 From: Christoph Bumiller Date: Sat, 7 Jan 2012 00:39:54 +0100 Subject: [PATCH] nv50,nvc0: handle new PIPE_CAPs --- src/gallium/drivers/nv50/nv50_screen.c | 10 ++++++++++ src/gallium/drivers/nvc0/nvc0_screen.c | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c index 4f22284c3a6..7ee90f18543 100644 --- a/src/gallium/drivers/nv50/nv50_screen.c +++ b/src/gallium/drivers/nv50/nv50_screen.c @@ -98,6 +98,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_ANISOTROPIC_FILTER: case PIPE_CAP_SCALED_RESOLVE: return 1; + case PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME: case PIPE_CAP_SEAMLESS_CUBE_MAP: return nv50_screen(pscreen)->tesla->grclass >= NVA0_3D; case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE: @@ -118,6 +119,10 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 1; case PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS: return 0; + case PIPE_CAP_MAX_STREAM_OUTPUT_INTERLEAVED_COMPONENTS: + return 128; + case PIPE_CAP_MAX_STREAM_OUTPUT_SEPARATE_COMPONENTS: + return 32; case PIPE_CAP_BLEND_EQUATION_SEPARATE: case PIPE_CAP_INDEP_BLEND_ENABLE: return 1; @@ -138,6 +143,9 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_CONDITIONAL_RENDER: case PIPE_CAP_TEXTURE_BARRIER: return 1; + case PIPE_CAP_TGSI_CAN_COMPACT_VARYINGS: + case PIPE_CAP_TGSI_CAN_COMPACT_CONSTANTS: + return 0; /* state trackers will know better */ default: NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); return 0; @@ -193,6 +201,8 @@ nv50_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader, return 0; case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS: return 32; + case PIPE_SHADER_CAP_OUTPUT_READ: + return 0; /* maybe support this for fragment shaders ? */ 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 069e68f1a55..cecca0da515 100644 --- a/src/gallium/drivers/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nvc0/nvc0_screen.c @@ -130,6 +130,9 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_CONDITIONAL_RENDER: case PIPE_CAP_TEXTURE_BARRIER: return 1; + case PIPE_CAP_TGSI_CAN_COMPACT_VARYINGS: + case PIPE_CAP_TGSI_CAN_COMPACT_CONSTANTS: + return 0; /* state trackers will know better */ default: NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); return 0; @@ -189,6 +192,8 @@ nvc0_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader, return 1; case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS: return 32; + case PIPE_SHADER_CAP_OUTPUT_READ: + return 0; /* shader != PIPE_SHADER_TESSELLATION_CONTROL; */ default: NOUVEAU_ERR("unknown PIPE_SHADER_CAP %d\n", param); return 0; -- 2.30.2