Module: Mesa
Branch: staging/21.0
Commit: e2bd2fda7ecc23dd3151cdf4a2758d96b44df662
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2bd2fda7ecc23dd3151cdf4a2758d96b44df662

Author: Eric Anholt <[email protected]>
Date:   Fri Jan 22 11:27:28 2021 -0800

r300,i915g: Report no shader buffers or images on non-TCL HW.

We don't have the driver hooks to set the state, or to update draw's copy
of the state at draw time.

Reviewed-by: Adam Jackson <[email protected]>
Fixes: d6fd7acf9b79 ("gallium: Fix leak of bound SSBOs at CSO context
destruction.")

Closes: #3990
(cherry picked from commit 58e43594fc457eaaf1b1e01e48948959a82080bc)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8970>

---

 src/gallium/drivers/i915/i915_screen.c | 3 +++
 src/gallium/drivers/r300/r300_screen.c | 8 +++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/i915/i915_screen.c 
b/src/gallium/drivers/i915/i915_screen.c
index abb4889c822..b6b968c5296 100644
--- a/src/gallium/drivers/i915/i915_screen.c
+++ b/src/gallium/drivers/i915/i915_screen.c
@@ -121,6 +121,9 @@ i915_get_shader_param(struct pipe_screen *screen,
             return PIPE_MAX_SAMPLERS;
          else
             return 0;
+      case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS:
+      case PIPE_SHADER_CAP_MAX_SHADER_IMAGES:
+         return 0;
        default:
          return draw_get_shader_param(shader, cap);
       }
diff --git a/src/gallium/drivers/r300/r300_screen.c 
b/src/gallium/drivers/r300/r300_screen.c
index c1579d9df9d..e1cb040a810 100644
--- a/src/gallium/drivers/r300/r300_screen.c
+++ b/src/gallium/drivers/r300/r300_screen.c
@@ -326,7 +326,13 @@ static int r300_get_shader_param(struct pipe_screen 
*pscreen,
         }
 
         if (!r300screen->caps.has_tcl) {
-            return draw_get_shader_param(shader, param);
+            switch (param) {
+            case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS:
+            case PIPE_SHADER_CAP_MAX_SHADER_IMAGES:
+                return 0;
+            default:
+                return draw_get_shader_param(shader, param);
+            }
         }
 
         switch (param)

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to