summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/softpipe/sp_screen.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2011-09-27 22:22:06 +0200
committerMarek Olšák <[email protected]>2011-09-30 23:19:52 +0200
commitf5bfe54a34d9c8cd5de2b096d0e8486fe0d990a7 (patch)
tree5c61a58b22bd018661f8b4f12e5974bf07b18c20 /src/gallium/drivers/softpipe/sp_screen.c
parent557c3febdfd88ba1a41d3e8e0221e447d491c343 (diff)
gallium: add and use PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS
This removes: - PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS - PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS in favor of the that new per-shader cap. Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_screen.c')
-rw-r--r--src/gallium/drivers/softpipe/sp_screen.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c
index 9c6e4c4c4ca..24852a53976 100644
--- a/src/gallium/drivers/softpipe/sp_screen.c
+++ b/src/gallium/drivers/softpipe/sp_screen.c
@@ -64,15 +64,6 @@ static int
softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param)
{
switch (param) {
- case PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS:
- return PIPE_MAX_SAMPLERS;
- case PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS:
-#ifdef HAVE_LLVM
- /* Softpipe doesn't yet know how to tell draw/llvm about textures */
- return 0;
-#else
- return PIPE_MAX_VERTEX_SAMPLERS;
-#endif
case PIPE_CAP_MAX_COMBINED_SAMPLERS:
return PIPE_MAX_SAMPLERS + PIPE_MAX_VERTEX_SAMPLERS;
case PIPE_CAP_NPOT_TEXTURES:
@@ -147,7 +138,17 @@ softpipe_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe
return tgsi_exec_get_shader_param(param);
case PIPE_SHADER_VERTEX:
case PIPE_SHADER_GEOMETRY:
- return draw_get_shader_param(shader, param);
+ switch (param) {
+ case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
+#ifdef HAVE_LLVM
+ /* Softpipe doesn't yet know how to tell draw/llvm about textures */
+ return 0;
+#else
+ return PIPE_MAX_VERTEX_SAMPLERS;
+#endif
+ default:
+ return draw_get_shader_param(shader, param);
+ }
default:
return 0;
}