Mesa (19.3): zink: use actual format for render-pass

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Nov 13 19:28:39 UTC 2019


Module: Mesa
Branch: 19.3
Commit: 2ea5038045d0df8ee9276145320b87e064e13936
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ea5038045d0df8ee9276145320b87e064e13936

Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Tue Oct 29 23:16:30 2019 +0100

zink: use actual format for render-pass

We should use the format derived from the image-view here, not from the
image itselt. Otherwise, we'll end up with incompatible render-passes.

Signed-off-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
Fixes: 8d46e35d16e ("zink: introduce opengl over vulkan")
(cherry picked from commit f3a72fd61c22d43e51d02b919af72aaa0587eb9b)

---

 src/gallium/drivers/zink/zink_context.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c
index 8a9ea11bf5d..7c7dcc2bfae 100644
--- a/src/gallium/drivers/zink/zink_context.c
+++ b/src/gallium/drivers/zink/zink_context.c
@@ -488,9 +488,10 @@ get_render_pass(struct zink_context *ctx)
    struct zink_render_pass_state state;
 
    for (int i = 0; i < fb->nr_cbufs; i++) {
-      struct zink_resource *cbuf = zink_resource(fb->cbufs[i]->texture);
-      state.rts[i].format = cbuf->format;
-      state.rts[i].samples = cbuf->base.nr_samples > 0 ? cbuf->base.nr_samples : VK_SAMPLE_COUNT_1_BIT;
+      struct pipe_resource *res = fb->cbufs[i]->texture;
+      state.rts[i].format = zink_get_format(screen, fb->cbufs[i]->format);
+      state.rts[i].samples = res->nr_samples > 0 ? res->nr_samples :
+                                                   VK_SAMPLE_COUNT_1_BIT;
    }
    state.num_cbufs = fb->nr_cbufs;
 




More information about the mesa-commit mailing list