Am 22.06.2014 17:10, schrieb Ilia Mirkin:
> Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu>
> ---
>  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_image                                    not 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_attachments                    not started
>    GL_ARB_internalformat_query2                         not started
>    GL_ARB_invalidate_subdata                            DONE (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.
>  <li>GL_ARB_texture_query_levels on nv50, nvc0, llvmpipe, r600, radeonsi, 
> softpipe</li>
>  <li>GL_ARB_texture_query_lod on radeonsi</li>
>  <li>GL_ARB_viewport_array on nvc0</li>
> -<li>GL_ARB_fragment_layer_viewport on nv50</li>
> +<li>GL_ARB_fragment_layer_viewport on nv50, nvc0</li>
>  </ul>
>  
>  
> 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

Reply via email to