Re: [Mesa-dev] [PATCH 4/4] nvc0: enable ARB_fragment_layer_viewport
Well, with Roland's fix to the draw module, llvmpipe works with my tests as well. Is it likely that r600 will work as-is, or do you think it'll require some fixes? I can try to find someone with the requisite hw... On Mon, Jun 23, 2014 at 4:57 PM, Marek Olšák wrote: > The cap can be removed later if needed. > > Marek > > On Mon, Jun 23, 2014 at 2:50 PM, Ilia Mirkin wrote: >> On Mon, Jun 23, 2014 at 7:55 AM, Roland Scheidegger >> wrote: >>> Am 23.06.2014 12:49, schrieb Roland Scheidegger: Am 22.06.2014 17:10, schrieb Ilia Mirkin: > Signed-off-by: Ilia Mirkin > --- > docs/GL3.txt| 2 +- > docs/relnotes/10.3.html | 2 +- > src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 2 ++ > src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 2 +- > 4 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/docs/GL3.txt b/docs/GL3.txt > index c47a54b..8cfa247 100644 > --- a/docs/GL3.txt > +++ b/docs/GL3.txt > @@ -161,7 +161,7 @@ GL 4.3: >GL_ARB_copy_imagenot started >GL_KHR_debug DONE (all drivers) >GL_ARB_explicit_uniform_location DONE (all drivers > that support GLSL) > - GL_ARB_fragment_layer_viewport DONE (nv50) > + GL_ARB_fragment_layer_viewport DONE (nv50, nvc0) >GL_ARB_framebuffer_no_attachmentsnot started >GL_ARB_internalformat_query2 not started >GL_ARB_invalidate_subdataDONE (all drivers) > diff --git a/docs/relnotes/10.3.html b/docs/relnotes/10.3.html > index 5e29f2d..b65e347 100644 > --- a/docs/relnotes/10.3.html > +++ b/docs/relnotes/10.3.html > @@ -53,7 +53,7 @@ Note: some of the new features are only available with > certain drivers. > GL_ARB_texture_query_levels on nv50, nvc0, llvmpipe, r600, radeonsi, > softpipe > GL_ARB_texture_query_lod on radeonsi > GL_ARB_viewport_array on nvc0 > -GL_ARB_fragment_layer_viewport on nv50 > +GL_ARB_fragment_layer_viewport on nv50, nvc0 > > > > diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c > b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c > index 667fbc8..ad8d1b0 100644 > --- a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c > +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c > @@ -36,6 +36,8 @@ nvc0_shader_input_address(unsigned sn, unsigned si, > unsigned ubase) > switch (sn) { > case NV50_SEMANTIC_TESSFACTOR: return 0x000 + si * 0x4; > case TGSI_SEMANTIC_PRIMID: return 0x060; > + case TGSI_SEMANTIC_LAYER:return 0x064; > + case TGSI_SEMANTIC_VIEWPORT_INDEX:return 0x068; > case TGSI_SEMANTIC_PSIZE:return 0x06c; > case TGSI_SEMANTIC_POSITION: return 0x070; > case TGSI_SEMANTIC_GENERIC: return ubase + si * 0x10; > diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > index 2c8f1ca..c02e10a 100644 > --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > @@ -164,6 +164,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, > enum pipe_cap param) > case PIPE_CAP_SAMPLE_SHADING: > case PIPE_CAP_TEXTURE_GATHER_OFFSETS: > case PIPE_CAP_TEXTURE_GATHER_SM5: > + case PIPE_CAP_TGSI_FS_LAYER_VIEWPORT: >return 1; > case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE: >return (class_3d >= NVE4_3D_CLASS) ? 1 : 0; > @@ -181,7 +182,6 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, > enum pipe_cap param) > case PIPE_CAP_TGSI_VS_LAYER: > case PIPE_CAP_FAKE_SW_MSAA: > case PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION: > - case PIPE_CAP_TGSI_FS_LAYER_VIEWPORT: >return 0; > } > > Is that cap bit really required? Everybody who can do layered viewports ought to be able to do this (as it's required by d3d10). Though I can't say if right now all drivers which support layered viewports can already do it (llvmpipe can), but it might be trivial to fix those up which can't. >>> >>> (Of course that should have been layered fbs and multiple viewports, >>> that short-notation I used there doesn't make much sense...) >> >> Well, I think right now the only drivers that support multiple >> viewports are llvmpipe, nv50, nvc0, and r600. I can test out llvmpipe >> but would need some help for r600. Would love not to have to add the >> cap :) >> >> -ilia >> ___ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mes
Re: [Mesa-dev] [PATCH 4/4] nvc0: enable ARB_fragment_layer_viewport
The cap can be removed later if needed. Marek On Mon, Jun 23, 2014 at 2:50 PM, Ilia Mirkin wrote: > On Mon, Jun 23, 2014 at 7:55 AM, Roland Scheidegger > wrote: >> Am 23.06.2014 12:49, schrieb Roland Scheidegger: >>> Am 22.06.2014 17:10, schrieb Ilia Mirkin: Signed-off-by: Ilia Mirkin --- docs/GL3.txt| 2 +- docs/relnotes/10.3.html | 2 +- src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 2 ++ src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/GL3.txt b/docs/GL3.txt index c47a54b..8cfa247 100644 --- a/docs/GL3.txt +++ b/docs/GL3.txt @@ -161,7 +161,7 @@ GL 4.3: GL_ARB_copy_imagenot started GL_KHR_debug DONE (all drivers) GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL) - GL_ARB_fragment_layer_viewport DONE (nv50) + GL_ARB_fragment_layer_viewport DONE (nv50, nvc0) GL_ARB_framebuffer_no_attachmentsnot started GL_ARB_internalformat_query2 not started GL_ARB_invalidate_subdataDONE (all drivers) diff --git a/docs/relnotes/10.3.html b/docs/relnotes/10.3.html index 5e29f2d..b65e347 100644 --- a/docs/relnotes/10.3.html +++ b/docs/relnotes/10.3.html @@ -53,7 +53,7 @@ Note: some of the new features are only available with certain drivers. GL_ARB_texture_query_levels on nv50, nvc0, llvmpipe, r600, radeonsi, softpipe GL_ARB_texture_query_lod on radeonsi GL_ARB_viewport_array on nvc0 -GL_ARB_fragment_layer_viewport on nv50 +GL_ARB_fragment_layer_viewport on nv50, nvc0 diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c index 667fbc8..ad8d1b0 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c @@ -36,6 +36,8 @@ nvc0_shader_input_address(unsigned sn, unsigned si, unsigned ubase) switch (sn) { case NV50_SEMANTIC_TESSFACTOR: return 0x000 + si * 0x4; case TGSI_SEMANTIC_PRIMID: return 0x060; + case TGSI_SEMANTIC_LAYER:return 0x064; + case TGSI_SEMANTIC_VIEWPORT_INDEX:return 0x068; case TGSI_SEMANTIC_PSIZE:return 0x06c; case TGSI_SEMANTIC_POSITION: return 0x070; case TGSI_SEMANTIC_GENERIC: return ubase + si * 0x10; diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c index 2c8f1ca..c02e10a 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c @@ -164,6 +164,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_SAMPLE_SHADING: case PIPE_CAP_TEXTURE_GATHER_OFFSETS: case PIPE_CAP_TEXTURE_GATHER_SM5: + case PIPE_CAP_TGSI_FS_LAYER_VIEWPORT: return 1; case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE: return (class_3d >= NVE4_3D_CLASS) ? 1 : 0; @@ -181,7 +182,6 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_TGSI_VS_LAYER: case PIPE_CAP_FAKE_SW_MSAA: case PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION: - case PIPE_CAP_TGSI_FS_LAYER_VIEWPORT: return 0; } >>> >>> Is that cap bit really required? Everybody who can do layered viewports >>> ought to be able to do this (as it's required by d3d10). Though I can't >>> say if right now all drivers which support layered viewports can already >>> do it (llvmpipe can), but it might be trivial to fix those up which can't. >>> >> >> (Of course that should have been layered fbs and multiple viewports, >> that short-notation I used there doesn't make much sense...) > > Well, I think right now the only drivers that support multiple > viewports are llvmpipe, nv50, nvc0, and r600. I can test out llvmpipe > but would need some help for r600. Would love not to have to add the > cap :) > > -ilia > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 4/4] nvc0: enable ARB_fragment_layer_viewport
On Mon, Jun 23, 2014 at 7:55 AM, Roland Scheidegger wrote: > Am 23.06.2014 12:49, schrieb Roland Scheidegger: >> Am 22.06.2014 17:10, schrieb Ilia Mirkin: >>> Signed-off-by: Ilia Mirkin >>> --- >>> docs/GL3.txt| 2 +- >>> docs/relnotes/10.3.html | 2 +- >>> src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 2 ++ >>> src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 2 +- >>> 4 files changed, 5 insertions(+), 3 deletions(-) >>> >>> diff --git a/docs/GL3.txt b/docs/GL3.txt >>> index c47a54b..8cfa247 100644 >>> --- a/docs/GL3.txt >>> +++ b/docs/GL3.txt >>> @@ -161,7 +161,7 @@ GL 4.3: >>>GL_ARB_copy_imagenot started >>>GL_KHR_debug DONE (all drivers) >>>GL_ARB_explicit_uniform_location DONE (all drivers >>> that support GLSL) >>> - GL_ARB_fragment_layer_viewport DONE (nv50) >>> + GL_ARB_fragment_layer_viewport DONE (nv50, nvc0) >>>GL_ARB_framebuffer_no_attachmentsnot started >>>GL_ARB_internalformat_query2 not started >>>GL_ARB_invalidate_subdataDONE (all drivers) >>> diff --git a/docs/relnotes/10.3.html b/docs/relnotes/10.3.html >>> index 5e29f2d..b65e347 100644 >>> --- a/docs/relnotes/10.3.html >>> +++ b/docs/relnotes/10.3.html >>> @@ -53,7 +53,7 @@ Note: some of the new features are only available with >>> certain drivers. >>> GL_ARB_texture_query_levels on nv50, nvc0, llvmpipe, r600, radeonsi, >>> softpipe >>> GL_ARB_texture_query_lod on radeonsi >>> GL_ARB_viewport_array on nvc0 >>> -GL_ARB_fragment_layer_viewport on nv50 >>> +GL_ARB_fragment_layer_viewport on nv50, nvc0 >>> >>> >>> >>> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c >>> b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c >>> index 667fbc8..ad8d1b0 100644 >>> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c >>> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c >>> @@ -36,6 +36,8 @@ nvc0_shader_input_address(unsigned sn, unsigned si, >>> unsigned ubase) >>> switch (sn) { >>> case NV50_SEMANTIC_TESSFACTOR: return 0x000 + si * 0x4; >>> case TGSI_SEMANTIC_PRIMID: return 0x060; >>> + case TGSI_SEMANTIC_LAYER:return 0x064; >>> + case TGSI_SEMANTIC_VIEWPORT_INDEX:return 0x068; >>> case TGSI_SEMANTIC_PSIZE:return 0x06c; >>> case TGSI_SEMANTIC_POSITION: return 0x070; >>> case TGSI_SEMANTIC_GENERIC: return ubase + si * 0x10; >>> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c >>> b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c >>> index 2c8f1ca..c02e10a 100644 >>> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c >>> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c >>> @@ -164,6 +164,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum >>> pipe_cap param) >>> case PIPE_CAP_SAMPLE_SHADING: >>> case PIPE_CAP_TEXTURE_GATHER_OFFSETS: >>> case PIPE_CAP_TEXTURE_GATHER_SM5: >>> + case PIPE_CAP_TGSI_FS_LAYER_VIEWPORT: >>>return 1; >>> case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE: >>>return (class_3d >= NVE4_3D_CLASS) ? 1 : 0; >>> @@ -181,7 +182,6 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum >>> pipe_cap param) >>> case PIPE_CAP_TGSI_VS_LAYER: >>> case PIPE_CAP_FAKE_SW_MSAA: >>> case PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION: >>> - case PIPE_CAP_TGSI_FS_LAYER_VIEWPORT: >>>return 0; >>> } >>> >>> >> >> Is that cap bit really required? Everybody who can do layered viewports >> ought to be able to do this (as it's required by d3d10). Though I can't >> say if right now all drivers which support layered viewports can already >> do it (llvmpipe can), but it might be trivial to fix those up which can't. >> > > (Of course that should have been layered fbs and multiple viewports, > that short-notation I used there doesn't make much sense...) Well, I think right now the only drivers that support multiple viewports are llvmpipe, nv50, nvc0, and r600. I can test out llvmpipe but would need some help for r600. Would love not to have to add the cap :) -ilia ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 4/4] nvc0: enable ARB_fragment_layer_viewport
Am 23.06.2014 12:49, schrieb Roland Scheidegger: > Am 22.06.2014 17:10, schrieb Ilia Mirkin: >> Signed-off-by: Ilia Mirkin >> --- >> docs/GL3.txt| 2 +- >> docs/relnotes/10.3.html | 2 +- >> src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 2 ++ >> src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 2 +- >> 4 files changed, 5 insertions(+), 3 deletions(-) >> >> diff --git a/docs/GL3.txt b/docs/GL3.txt >> index c47a54b..8cfa247 100644 >> --- a/docs/GL3.txt >> +++ b/docs/GL3.txt >> @@ -161,7 +161,7 @@ GL 4.3: >>GL_ARB_copy_imagenot started >>GL_KHR_debug DONE (all drivers) >>GL_ARB_explicit_uniform_location DONE (all drivers >> that support GLSL) >> - GL_ARB_fragment_layer_viewport DONE (nv50) >> + GL_ARB_fragment_layer_viewport DONE (nv50, nvc0) >>GL_ARB_framebuffer_no_attachmentsnot started >>GL_ARB_internalformat_query2 not started >>GL_ARB_invalidate_subdataDONE (all drivers) >> diff --git a/docs/relnotes/10.3.html b/docs/relnotes/10.3.html >> index 5e29f2d..b65e347 100644 >> --- a/docs/relnotes/10.3.html >> +++ b/docs/relnotes/10.3.html >> @@ -53,7 +53,7 @@ Note: some of the new features are only available with >> certain drivers. >> GL_ARB_texture_query_levels on nv50, nvc0, llvmpipe, r600, radeonsi, >> softpipe >> GL_ARB_texture_query_lod on radeonsi >> GL_ARB_viewport_array on nvc0 >> -GL_ARB_fragment_layer_viewport on nv50 >> +GL_ARB_fragment_layer_viewport on nv50, nvc0 >> >> >> >> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c >> b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c >> index 667fbc8..ad8d1b0 100644 >> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c >> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c >> @@ -36,6 +36,8 @@ nvc0_shader_input_address(unsigned sn, unsigned si, >> unsigned ubase) >> switch (sn) { >> case NV50_SEMANTIC_TESSFACTOR: return 0x000 + si * 0x4; >> case TGSI_SEMANTIC_PRIMID: return 0x060; >> + case TGSI_SEMANTIC_LAYER:return 0x064; >> + case TGSI_SEMANTIC_VIEWPORT_INDEX:return 0x068; >> case TGSI_SEMANTIC_PSIZE:return 0x06c; >> case TGSI_SEMANTIC_POSITION: return 0x070; >> case TGSI_SEMANTIC_GENERIC: return ubase + si * 0x10; >> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c >> b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c >> index 2c8f1ca..c02e10a 100644 >> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c >> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c >> @@ -164,6 +164,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum >> pipe_cap param) >> case PIPE_CAP_SAMPLE_SHADING: >> case PIPE_CAP_TEXTURE_GATHER_OFFSETS: >> case PIPE_CAP_TEXTURE_GATHER_SM5: >> + case PIPE_CAP_TGSI_FS_LAYER_VIEWPORT: >>return 1; >> case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE: >>return (class_3d >= NVE4_3D_CLASS) ? 1 : 0; >> @@ -181,7 +182,6 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum >> pipe_cap param) >> case PIPE_CAP_TGSI_VS_LAYER: >> case PIPE_CAP_FAKE_SW_MSAA: >> case PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION: >> - case PIPE_CAP_TGSI_FS_LAYER_VIEWPORT: >>return 0; >> } >> >> > > Is that cap bit really required? Everybody who can do layered viewports > ought to be able to do this (as it's required by d3d10). Though I can't > say if right now all drivers which support layered viewports can already > do it (llvmpipe can), but it might be trivial to fix those up which can't. > (Of course that should have been layered fbs and multiple viewports, that short-notation I used there doesn't make much sense...) roland ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 4/4] nvc0: enable ARB_fragment_layer_viewport
Am 22.06.2014 17:10, schrieb Ilia Mirkin: > Signed-off-by: Ilia Mirkin > --- > docs/GL3.txt| 2 +- > docs/relnotes/10.3.html | 2 +- > src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 2 ++ > src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 2 +- > 4 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/docs/GL3.txt b/docs/GL3.txt > index c47a54b..8cfa247 100644 > --- a/docs/GL3.txt > +++ b/docs/GL3.txt > @@ -161,7 +161,7 @@ GL 4.3: >GL_ARB_copy_imagenot started >GL_KHR_debug DONE (all drivers) >GL_ARB_explicit_uniform_location DONE (all drivers > that support GLSL) > - GL_ARB_fragment_layer_viewport DONE (nv50) > + GL_ARB_fragment_layer_viewport DONE (nv50, nvc0) >GL_ARB_framebuffer_no_attachmentsnot started >GL_ARB_internalformat_query2 not started >GL_ARB_invalidate_subdataDONE (all drivers) > diff --git a/docs/relnotes/10.3.html b/docs/relnotes/10.3.html > index 5e29f2d..b65e347 100644 > --- a/docs/relnotes/10.3.html > +++ b/docs/relnotes/10.3.html > @@ -53,7 +53,7 @@ Note: some of the new features are only available with > certain drivers. > GL_ARB_texture_query_levels on nv50, nvc0, llvmpipe, r600, radeonsi, > softpipe > GL_ARB_texture_query_lod on radeonsi > GL_ARB_viewport_array on nvc0 > -GL_ARB_fragment_layer_viewport on nv50 > +GL_ARB_fragment_layer_viewport on nv50, nvc0 > > > > diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c > b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c > index 667fbc8..ad8d1b0 100644 > --- a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c > +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c > @@ -36,6 +36,8 @@ nvc0_shader_input_address(unsigned sn, unsigned si, > unsigned ubase) > switch (sn) { > case NV50_SEMANTIC_TESSFACTOR: return 0x000 + si * 0x4; > case TGSI_SEMANTIC_PRIMID: return 0x060; > + case TGSI_SEMANTIC_LAYER:return 0x064; > + case TGSI_SEMANTIC_VIEWPORT_INDEX:return 0x068; > case TGSI_SEMANTIC_PSIZE:return 0x06c; > case TGSI_SEMANTIC_POSITION: return 0x070; > case TGSI_SEMANTIC_GENERIC: return ubase + si * 0x10; > diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > index 2c8f1ca..c02e10a 100644 > --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c > @@ -164,6 +164,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum > pipe_cap param) > case PIPE_CAP_SAMPLE_SHADING: > case PIPE_CAP_TEXTURE_GATHER_OFFSETS: > case PIPE_CAP_TEXTURE_GATHER_SM5: > + case PIPE_CAP_TGSI_FS_LAYER_VIEWPORT: >return 1; > case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE: >return (class_3d >= NVE4_3D_CLASS) ? 1 : 0; > @@ -181,7 +182,6 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum > pipe_cap param) > case PIPE_CAP_TGSI_VS_LAYER: > case PIPE_CAP_FAKE_SW_MSAA: > case PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION: > - case PIPE_CAP_TGSI_FS_LAYER_VIEWPORT: >return 0; > } > > Is that cap bit really required? Everybody who can do layered viewports ought to be able to do this (as it's required by d3d10). Though I can't say if right now all drivers which support layered viewports can already do it (llvmpipe can), but it might be trivial to fix those up which can't. Roland ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev