[Mesa-dev] [PATCH 4/4] i965: Enable AMD_seamless_cubemap_per_texture

Chris Forbes chrisf at ijw.co.nz
Wed Sep 4 13:28:01 PDT 2013


For the series,

Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>

On Thu, Sep 5, 2013 at 6:29 AM, Ian Romanick <idr at freedesktop.org> wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
>
> The change is very small.  Do seamless filtering if either the context
> enable is set or the sampler enable is set.
>
> The AMD_seamless_cubemap_per_texture says:
>
>     "If TEXTURE_CUBE_MAP_SEAMLESS_ARB is emabled (sic) globally or the
>     value of the texture's TEXTURE_CUBE_MAP_SEAMLESS_ARB parameter is
>     TRUE, seamless cube map sampling is enabled..."
>
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
>  docs/relnotes/9.3.html                           | 4 ++++
>  src/mesa/drivers/dri/i965/brw_wm_sampler_state.c | 2 +-
>  src/mesa/drivers/dri/i965/gen7_sampler_state.c   | 2 +-
>  src/mesa/drivers/dri/i965/intel_extensions.c     | 1 +
>  4 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/docs/relnotes/9.3.html b/docs/relnotes/9.3.html
> index 1f57df0..1b34a9a 100644
> --- a/docs/relnotes/9.3.html
> +++ b/docs/relnotes/9.3.html
> @@ -43,6 +43,10 @@ TBD.
>  Note: some of the new features are only available with certain drivers.
>  </p>
>
> +<ul>
> +<li>GL_AMD_seamless_cubemap_per_texture on i965.</li>
> +</ul>
> +
>
>  <h2>Bug fixes</h2>
>
> diff --git a/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c b/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c
> index 828820d..4544028 100644
> --- a/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c
> +++ b/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c
> @@ -282,7 +282,7 @@ static void brw_update_sampler_state(struct brw_context *brw,
>      */
>     if (texObj->Target == GL_TEXTURE_CUBE_MAP ||
>         texObj->Target == GL_TEXTURE_CUBE_MAP_ARRAY) {
> -      if (ctx->Texture.CubeMapSeamless &&
> +      if ((ctx->Texture.CubeMapSeamless || gl_sampler->CubeMapSeamless) &&
>           (gl_sampler->MinFilter != GL_NEAREST ||
>            gl_sampler->MagFilter != GL_NEAREST)) {
>          sampler->ss1.r_wrap_mode = BRW_TEXCOORDMODE_CUBE;
> diff --git a/src/mesa/drivers/dri/i965/gen7_sampler_state.c b/src/mesa/drivers/dri/i965/gen7_sampler_state.c
> index 6162502..d796fb5 100644
> --- a/src/mesa/drivers/dri/i965/gen7_sampler_state.c
> +++ b/src/mesa/drivers/dri/i965/gen7_sampler_state.c
> @@ -116,7 +116,7 @@ gen7_update_sampler_state(struct brw_context *brw, int unit, int ss_index,
>      */
>     if (texObj->Target == GL_TEXTURE_CUBE_MAP ||
>         texObj->Target == GL_TEXTURE_CUBE_MAP_ARRAY) {
> -      if (ctx->Texture.CubeMapSeamless &&
> +      if ((ctx->Texture.CubeMapSeamless || gl_sampler->CubeMapSeamless) &&
>           (gl_sampler->MinFilter != GL_NEAREST ||
>            gl_sampler->MagFilter != GL_NEAREST)) {
>          sampler->ss3.r_wrap_mode = BRW_TEXCOORDMODE_CUBE;
> diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c b/src/mesa/drivers/dri/i965/intel_extensions.c
> index 655467c..32f7b5c 100644
> --- a/src/mesa/drivers/dri/i965/intel_extensions.c
> +++ b/src/mesa/drivers/dri/i965/intel_extensions.c
> @@ -106,6 +106,7 @@ intelInitExtensions(struct gl_context *ctx)
>     ctx->Extensions.EXT_texture_swizzle = true;
>     ctx->Extensions.EXT_stencil_two_side = true;
>     ctx->Extensions.EXT_vertex_array_bgra = true;
> +   ctx->Extensions.AMD_seamless_cubemap_per_texture = true;
>     ctx->Extensions.APPLE_object_purgeable = true;
>     ctx->Extensions.ATI_envmap_bumpmap = true;
>     ctx->Extensions.ATI_separate_stencil = true;
> --
> 1.8.1.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list