[Mesa-dev] [st/va] change va max_entrypoints

Namburu, Chandu-babu chandu at amd.com
Thu Jun 15 12:21:14 UTC 2017


Hi Emil and Christian,

Modified patch as per the comments and added CC: mesa-stable

From: Chandu Babu N <chandu at amd.com>

As encode support is added along with decode,
increase max_entrypoints to two.
vaMaxNumEntrypoints will return correct value.

v2: assert when max_entrypoints needs to be bigger

---
 src/gallium/state_trackers/va/config.c  | 2 ++
 src/gallium/state_trackers/va/context.c | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/gallium/state_trackers/va/config.c b/src/gallium/state_trackers/va/config.c
index c5d69bd..7d3bd64 100644
--- a/src/gallium/state_trackers/va/config.c
+++ b/src/gallium/state_trackers/va/config.c
@@ -102,6 +102,8 @@ vlVaQueryConfigEntrypoints(VADriverContextP ctx, VAProfile profile,
    if (num_entrypoints == 0)
       return VA_STATUS_ERROR_UNSUPPORTED_PROFILE;

+   assert(*num_entrypoints <= ctx->max_entrypoints);
+
    return VA_STATUS_SUCCESS;
 }

diff --git a/src/gallium/state_trackers/va/context.c b/src/gallium/state_trackers/va/context.c
index 6e7a58d..186f5066 100644
--- a/src/gallium/state_trackers/va/context.c
+++ b/src/gallium/state_trackers/va/context.c
@@ -167,7 +167,7 @@ VA_DRIVER_INIT_FUNC(VADriverContextP ctx)
    *ctx->vtable = vtable;
    *ctx->vtable_vpp = vtable_vpp;
    ctx->max_profiles = PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH - PIPE_VIDEO_PROFILE_UNKNOWN;
-   ctx->max_entrypoints = 1;
+   ctx->max_entrypoints = 2;
    ctx->max_attributes = 1;
    ctx->max_image_formats = VL_VA_MAX_IMAGE_FORMATS;
    ctx->max_subpic_formats = 1;
--
2.7.4

Regards,
Chandu
-----Original Message-----
From: Christian König [mailto:deathsimple at vodafone.de] 
Sent: Wednesday, June 14, 2017 9:50 PM
To: Emil Velikov <emil.l.velikov at gmail.com>
Cc: Namburu, Chandu-babu <chandu at amd.com>; mesa-dev at lists.freedesktop.org
Subject: Re: [Mesa-dev] [st/va] change va max_entrypoints

Am 14.06.2017 um 17:34 schrieb Emil Velikov:
> On 14 June 2017 at 15:21, Christian König <deathsimple at vodafone.de> wrote:
>> Am 14.06.2017 um 15:40 schrieb Namburu, Chandu-babu:
>>> From: Chandu Babu N <chandu at amd.com>
>>>
>>> As encode support is added along with decode, now max_entrypoints 
>>> are two.
>>> vaMaxNumEntrypoints will return correct value.
>>>
>>> Signed-off-by: Chandu Babu N <chandu at amd.com>
>> Reviewed-by: Christian König <christian.koenig at amd.com>
>>
> Gents, can you please add a "Fixes: $sha ..." or "Cc: mesa-stable.." tag.
>
> Having a quick look - seems like the vaQueryConfigEntrypoints() 
> callback does not honour the num_entrypoints argument, hence prior to 
> this commit we'll be causing memory corruption. We might want to add 
> an assert/check or two to prevent this in the future?
>
> -Emil
> P.S. Christian, can I bribe you to use plain text emails - formatting 
> goes crazy when trying to reply :-\

Hui? That should already be a plain text mail:

Content-Type: text/plain; charset=windows-1252; format=flowed


And yes CC stable and an assert to check for that sounds like a good idea to me as well.

Namburu can you take care of this as well?

Thanks,

Christian.



More information about the mesa-dev mailing list