On 30.05.2017 22:36, Samuel Pitoiset wrote:
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."

The per-context seamless cubemap flag should only be enabled for
bound textures/samplers.

Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>


v2: - do not rely on HandleAllocated

Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
---
  src/mesa/state_tracker/st_atom_sampler.c | 9 ++++++---
  1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom_sampler.c 
b/src/mesa/state_tracker/st_atom_sampler.c
index c6d992fbb0..8c121d5407 100644
--- a/src/mesa/state_tracker/st_atom_sampler.c
+++ b/src/mesa/state_tracker/st_atom_sampler.c
@@ -135,7 +135,6 @@ st_convert_sampler(const struct st_context *st,
                     const struct gl_sampler_object *msamp,
                     struct pipe_sampler_state *sampler)
  {
-   struct gl_context *ctx = st->ctx;
     GLenum texBaseFormat;
texBaseFormat = _mesa_texture_base_format(texobj);
@@ -226,8 +225,11 @@ 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;
+   /* Only set the seamless cube map texture parameter because the per-context
+    * enable should be ignored and treated as disabled when using texture
+    * handles, as specified by ARB_bindless_texture.
+    */
+   sampler->seamless_cube_map = msamp->CubeMapSeamless;
  }
/**
@@ -250,6 +252,7 @@ st_convert_sampler_from_unit(const struct st_context *st,
     st_convert_sampler(st, texobj, msamp, sampler);
sampler->lod_bias += ctx->Texture.Unit[texUnit].LodBias;
+   sampler->seamless_cube_map |= ctx->Texture.CubeMapSeamless;
  }


--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to