Module: Mesa
Branch: master
Commit: e63fec29a1bde71a707ee6ac89763896e33e3c0c
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e63fec29a1bde71a707ee6ac89763896e33e3c0c

Author: Serge Martin <[email protected]>
Date:   Sun Dec  6 15:32:15 2015 +0100

freedreno: fix bind_sampler_states when hwcso is NULL

src/gallium/tests/trivial/compute.c expects samplers to be cleaned
when the samplers list is NULL.
Like in radeon, the function behave like when the number of samplers
parameter is set to 0.

[small s/hwsco/hwcso/ typo fix]
Signed-off-by: Rob Clark <[email protected]>

---

 src/gallium/drivers/freedreno/a2xx/fd2_texture.c |    3 +++
 src/gallium/drivers/freedreno/a3xx/fd3_texture.c |    3 +++
 src/gallium/drivers/freedreno/a4xx/fd4_texture.c |    3 +++
 3 files changed, 9 insertions(+)

diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_texture.c 
b/src/gallium/drivers/freedreno/a2xx/fd2_texture.c
index 90013e2..6e4b5a5 100644
--- a/src/gallium/drivers/freedreno/a2xx/fd2_texture.c
+++ b/src/gallium/drivers/freedreno/a2xx/fd2_texture.c
@@ -106,6 +106,9 @@ fd2_sampler_states_bind(struct pipe_context *pctx,
                unsigned shader, unsigned start,
                unsigned nr, void **hwcso)
 {
+       if (!hwcso)
+               nr = 0;
+
        if (shader == PIPE_SHADER_FRAGMENT) {
                struct fd_context *ctx = fd_context(pctx);
 
diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_texture.c 
b/src/gallium/drivers/freedreno/a3xx/fd3_texture.c
index 99ae99e..9d54d41 100644
--- a/src/gallium/drivers/freedreno/a3xx/fd3_texture.c
+++ b/src/gallium/drivers/freedreno/a3xx/fd3_texture.c
@@ -149,6 +149,9 @@ fd3_sampler_states_bind(struct pipe_context *pctx,
        uint16_t saturate_s = 0, saturate_t = 0, saturate_r = 0;
        unsigned i;
 
+       if (!hwcso)
+               nr = 0;
+
        for (i = 0; i < nr; i++) {
                if (hwcso[i]) {
                        struct fd3_sampler_stateobj *sampler =
diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_texture.c 
b/src/gallium/drivers/freedreno/a4xx/fd4_texture.c
index 0eba755..3834858 100644
--- a/src/gallium/drivers/freedreno/a4xx/fd4_texture.c
+++ b/src/gallium/drivers/freedreno/a4xx/fd4_texture.c
@@ -150,6 +150,9 @@ fd4_sampler_states_bind(struct pipe_context *pctx,
        uint16_t saturate_s = 0, saturate_t = 0, saturate_r = 0;
        unsigned i;
 
+       if (!hwcso)
+               nr = 0;
+
        for (i = 0; i < nr; i++) {
                if (hwcso[i]) {
                        struct fd4_sampler_stateobj *sampler =

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

Reply via email to