[Mesa-dev] [RFC PATCH 46/65] st/mesa: disable per-context seamless cubemap when using texture handles

Samuel Pitoiset samuel.pitoiset at gmail.com
Fri May 19 16:52:51 UTC 2017


The ARB_bindless_texture spec say:

   "If ARB_seamless_cubemap (or OpenGL 4.0, which includes it) is
    supported, the per-context seamless cubemap enable is ignored
    and treated as disabled when using texture handles."

   "If AMD_seamless_cubemap_per_texture is supported, the seamless
    cube map texture parameter of the underlying texture does apply
    when texture handles are used."

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/mesa/state_tracker/st_atom_sampler.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom_sampler.c b/src/mesa/state_tracker/st_atom_sampler.c
index c6d992fbb0..116c5380cf 100644
--- a/src/mesa/state_tracker/st_atom_sampler.c
+++ b/src/mesa/state_tracker/st_atom_sampler.c
@@ -226,8 +226,22 @@ st_convert_sampler(const struct st_context *st,
       sampler->compare_func = st_compare_func_to_pipe(msamp->CompareFunc);
    }
 
-   sampler->seamless_cube_map =
-      ctx->Texture.CubeMapSeamless || msamp->CubeMapSeamless;
+   if (msamp->HandleAllocated) {
+      /* The ARB_bindless_texture spec says:
+       *
+       * "If ARB_seamless_cubemap (or OpenGL 4.0, which includes it) is
+       *  supported, the per-context seamless cubemap enable is ignored and
+       *  treated as disabled when using texture handles."
+       *
+       * "If AMD_seamless_cubemap_per_texture is supported, the seamless cube
+       *  map texture parameter of the underlying texture does apply when
+       *  texture handles are used."
+       */
+      sampler->seamless_cube_map = msamp->CubeMapSeamless;
+   } else {
+      sampler->seamless_cube_map =
+         ctx->Texture.CubeMapSeamless || msamp->CubeMapSeamless;
+   }
 }
 
 /**
-- 
2.13.0



More information about the mesa-dev mailing list