[Mesa-dev] [RFC PATCH 46/65] st/mesa: disable per-context seamless cubemap when using texture handles
Samuel Pitoiset
samuel.pitoiset at gmail.com
Wed May 24 08:53:25 UTC 2017
On 05/23/2017 10:21 PM, Marek Olšák wrote:
> What if a texture is used both as bindless and non-bindless? Wouldn't
> HandleAllocated be true all the time? Instead perhaps
> st_convert_sampler needs to know whether the current use is bindless,
> not whether there is an existing handle somewhere in the context.
Yes, handles are only removed when the underlying texture is deleted.
You are probably right.
>
> Marek
>
> On Fri, May 19, 2017 at 6:52 PM, Samuel Pitoiset
> <samuel.pitoiset at gmail.com> 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."
>>
>> 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
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list