aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2017-11-19 16:36:08 -0500
committerIlia Mirkin <[email protected]>2017-11-25 17:20:17 -0500
commitf39a91c1527ce11871ceacb2ac74a911f4cd6698 (patch)
treec2d2f5b4182d765a8068830a5177ad8e4a1bf07e /src
parent4f748d12e8828aab6e2824a3c80f01c7ac44226c (diff)
freedreno/a4xx: add ARB_framebuffer_no_attachments support
Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Rob Clark <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_screen.c5
-rw-r--r--src/gallium/drivers/freedreno/freedreno_screen.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_screen.c b/src/gallium/drivers/freedreno/a4xx/fd4_screen.c
index 6006bb96b3a..1b81f8db2f3 100644
--- a/src/gallium/drivers/freedreno/a4xx/fd4_screen.c
+++ b/src/gallium/drivers/freedreno/a4xx/fd4_screen.c
@@ -75,6 +75,11 @@ fd4_screen_is_format_supported(struct pipe_screen *pscreen,
PIPE_BIND_SHARED);
}
+ /* For ARB_framebuffer_no_attachments: */
+ if ((usage & PIPE_BIND_RENDER_TARGET) && (format == PIPE_FORMAT_NONE)) {
+ retval |= usage & PIPE_BIND_RENDER_TARGET;
+ }
+
if ((usage & PIPE_BIND_DEPTH_STENCIL) &&
(fd4_pipe2depth(format) != (enum a4xx_depth_format)~0) &&
(fd4_pipe2tex(format) != (enum a4xx_tex_fmt)~0)) {
diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c
index 3fa28e3f310..aea56a180af 100644
--- a/src/gallium/drivers/freedreno/freedreno_screen.c
+++ b/src/gallium/drivers/freedreno/freedreno_screen.c
@@ -338,7 +338,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
return 0;
case PIPE_CAP_FRAMEBUFFER_NO_ATTACHMENT:
- if (is_a5xx(screen))
+ if (is_a4xx(screen) || is_a5xx(screen))
return 1;
return 0;