Reviewed-by: Jason Ekstrand <[email protected]>

On Sat, Jan 21, 2017 at 4:28 AM, Lionel Landwerlin <
[email protected]> wrote:

> Signed-off-by: Lionel Landwerlin <[email protected]>
> ---
>  src/intel/vulkan/anv_descriptor_set.c | 31 +++++++++++++++++++-----------
> -
>  1 file changed, 19 insertions(+), 12 deletions(-)
>
> diff --git a/src/intel/vulkan/anv_descriptor_set.c b/src/intel/vulkan/anv_
> descriptor_set.c
> index 4367c0ebe0..a5e65afc48 100644
> --- a/src/intel/vulkan/anv_descriptor_set.c
> +++ b/src/intel/vulkan/anv_descriptor_set.c
> @@ -587,8 +587,13 @@ void anv_UpdateDescriptorSets(
>        switch (write->descriptorType) {
>        case VK_DESCRIPTOR_TYPE_SAMPLER:
>           for (uint32_t j = 0; j < write->descriptorCount; j++) {
> -            ANV_FROM_HANDLE(anv_sampler, sampler,
> -                            write->pImageInfo[j].sampler);
> +            /* If this descriptor has an immutable sampler, we don't want
> to
> +             * stomp on it.
> +             */
> +            struct anv_sampler *sampler =
> +               bind_layout->immutable_samplers ?
> +               bind_layout->immutable_samplers[j] :
> +               anv_sampler_from_handle(write->pImageInfo[j].sampler);
>
>              desc[j] = (struct anv_descriptor) {
>                 .type = VK_DESCRIPTOR_TYPE_SAMPLER,
> @@ -601,17 +606,19 @@ void anv_UpdateDescriptorSets(
>           for (uint32_t j = 0; j < write->descriptorCount; j++) {
>              ANV_FROM_HANDLE(anv_image_view, iview,
>                              write->pImageInfo[j].imageView);
> -            ANV_FROM_HANDLE(anv_sampler, sampler,
> -                            write->pImageInfo[j].sampler);
> -
> -            desc[j].type = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
> -            desc[j].image_view = iview;
> -
> -            /* If this descriptor has an immutable sampler, we don't want
> -             * to stomp on it.
> +            /* If this descriptor has an immutable sampler, we don't want
> to
> +             * stomp on it.
>               */
> -            if (sampler)
> -               desc[j].sampler = sampler;
> +            struct anv_sampler *sampler =
> +               bind_layout->immutable_samplers ?
> +               bind_layout->immutable_samplers[j] :
> +               anv_sampler_from_handle(write->pImageInfo[j].sampler);
> +
> +            desc[j] = (struct anv_descriptor) {
> +               .type = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
> +               .image_view = iview,
> +               .sampler = sampler,
> +            };
>           }
>           break;
>
> --
> 2.11.0
>
>
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to