summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2016-02-24 20:17:50 +0100
committerMarek Olšák <[email protected]>2016-03-09 15:02:27 +0100
commitd4e847ea33039f1d31843e69ab238f2225982393 (patch)
treefc22d20c36e117b17517d69c2b1b3e9837c89f68 /src/gallium
parentd95f59375886a18f6f9fb211fc839cf30c110d81 (diff)
gallium/radeon: disallow handle export for MSAA & depth textures
Reviewed-by: Michel Dänzer <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/radeon/r600_texture.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c
index 8fc236e713c..21bb3f9bed1 100644
--- a/src/gallium/drivers/radeon/r600_texture.c
+++ b/src/gallium/drivers/radeon/r600_texture.c
@@ -259,6 +259,13 @@ static boolean r600_texture_get_handle(struct pipe_screen* screen,
struct r600_texture *rtex = (struct r600_texture*)resource;
struct radeon_bo_metadata metadata;
+ /* This is not supported now, but it might be required for OpenCL
+ * interop in the future.
+ */
+ if (resource->target != PIPE_BUFFER &&
+ (resource->nr_samples > 1 || rtex->is_depth))
+ return NULL;
+
if (!res->is_shared) {
res->is_shared = true;
res->external_usage = usage;