gallium: add PIPE_CAP_MAX_VARYINGS
Some NVIDIA hardware can accept 128 fragment shader input components, but only have up to 124 varying-interpolated input components. We add a new cap to express this cleanly. For most drivers, this will have the same value as PIPE_SHADER_CAP_MAX_INPUTS for the fragment shader. Fixes KHR-GL45.limits.max_fragment_input_components Signed-off-by:Karol Herbst <karolherbst@gmail.com> [imirkin: rebased, improved docs/commit message] Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Acked-by:
Rob Clark <robdclark@gmail.com> Acked-by:
Eric Anholt <eric@anholt.net> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Cc: 19.0 <mesa-stable@lists.freedesktop.org>
Showing
- src/gallium/docs/source/screen.rst 4 additions, 0 deletionssrc/gallium/docs/source/screen.rst
- src/gallium/drivers/etnaviv/etnaviv_screen.c 3 additions, 0 deletionssrc/gallium/drivers/etnaviv/etnaviv_screen.c
- src/gallium/drivers/freedreno/freedreno_screen.c 3 additions, 0 deletionssrc/gallium/drivers/freedreno/freedreno_screen.c
- src/gallium/drivers/i915/i915_screen.c 2 additions, 0 deletionssrc/gallium/drivers/i915/i915_screen.c
- src/gallium/drivers/llvmpipe/lp_screen.c 2 additions, 0 deletionssrc/gallium/drivers/llvmpipe/lp_screen.c
- src/gallium/drivers/nouveau/nv30/nv30_screen.c 3 additions, 0 deletionssrc/gallium/drivers/nouveau/nv30/nv30_screen.c
- src/gallium/drivers/nouveau/nv50/nv50_screen.c 2 additions, 0 deletionssrc/gallium/drivers/nouveau/nv50/nv50_screen.c
- src/gallium/drivers/nouveau/nvc0/nvc0_screen.c 7 additions, 12 deletionssrc/gallium/drivers/nouveau/nvc0/nvc0_screen.c
- src/gallium/drivers/panfrost/pan_screen.c 3 additions, 0 deletionssrc/gallium/drivers/panfrost/pan_screen.c
- src/gallium/drivers/r300/r300_screen.c 3 additions, 0 deletionssrc/gallium/drivers/r300/r300_screen.c
- src/gallium/drivers/r600/r600_pipe.c 3 additions, 0 deletionssrc/gallium/drivers/r600/r600_pipe.c
- src/gallium/drivers/radeonsi/si_get.c 3 additions, 0 deletionssrc/gallium/drivers/radeonsi/si_get.c
- src/gallium/drivers/softpipe/sp_screen.c 2 additions, 0 deletionssrc/gallium/drivers/softpipe/sp_screen.c
- src/gallium/drivers/svga/svga_screen.c 2 additions, 0 deletionssrc/gallium/drivers/svga/svga_screen.c
- src/gallium/drivers/v3d/v3d_screen.c 3 additions, 0 deletionssrc/gallium/drivers/v3d/v3d_screen.c
- src/gallium/drivers/vc4/vc4_screen.c 3 additions, 0 deletionssrc/gallium/drivers/vc4/vc4_screen.c
- src/gallium/drivers/virgl/virgl_screen.c 4 additions, 0 deletionssrc/gallium/drivers/virgl/virgl_screen.c
- src/gallium/include/pipe/p_defines.h 1 addition, 0 deletionssrc/gallium/include/pipe/p_defines.h
- src/mesa/state_tracker/st_extensions.c 1 addition, 4 deletionssrc/mesa/state_tracker/st_extensions.c
Loading
Please register or sign in to comment