summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Piñeiro <[email protected]>2017-10-25 14:35:36 +0200
committerAlejandro Piñeiro <[email protected]>2017-10-27 15:04:03 +0200
commitfd011376cb3d7713297e057eafbd1d0ef1df3667 (patch)
treedbd3c2559f9d70c020237569167ca0ca57333ebb
parent05a94a4dfc79f95d597dd6fc08eea4a947eb300c (diff)
formatquery: use correct target check for IMAGE_FORMAT_COMPATIBILITY_TYPE
From the spec: "IMAGE_FORMAT_COMPATIBILITY_TYPE: The matching criteria use for the resource when used as an image textures is returned in <params>. This is equivalent to calling GetTexParameter" So we would need to return None for any target not supported by GetTexParameter. By mistake, we were using the target check for GetTexLevelParameter. v2: fix typo (GetTextParameter vs GetTexParemeter) on comment (Illia Mirkin) Reviewed-by: Antia Puentes <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
-rw-r--r--src/mesa/main/formatquery.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mesa/main/formatquery.c b/src/mesa/main/formatquery.c
index 77c7faa2251..61f798c88fb 100644
--- a/src/mesa/main/formatquery.c
+++ b/src/mesa/main/formatquery.c
@@ -1430,7 +1430,13 @@ _mesa_GetInternalformativ(GLenum target, GLenum internalformat, GLenum pname,
if (!_mesa_has_ARB_shader_image_load_store(ctx))
goto end;
- if (!_mesa_legal_get_tex_level_parameter_target(ctx, target, true))
+ /* As pointed by the spec quote below, this pname query should return
+ * the same value that GetTexParameter. So if the target is not valid
+ * for GetTexParameter we return the unsupported value. The check below
+ * is the same target check used by GetTexParameter.
+ */
+ int targetIndex = _mesa_tex_target_to_index(ctx, target);
+ if (targetIndex < 0 || targetIndex == TEXTURE_BUFFER_INDEX)
goto end;
/* From spec: "Equivalent to calling GetTexParameter with <value> set