summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian König <[email protected]>2013-07-15 08:48:41 -0600
committerChristian König <[email protected]>2013-08-19 10:21:15 +0200
commit5ddd840f5aacb7cc6e62b712aa737c683bd91f55 (patch)
treefb2cb878028b5eedaac452c83b60c294e192c44f
parenta15cbabb8b546fa063cfb6f528dd67ee0037079b (diff)
vl: add entrypoint to is_video_format_supported
Signed-off-by: Christian König <[email protected]>
-rw-r--r--src/gallium/auxiliary/vl/vl_video_buffer.c3
-rw-r--r--src/gallium/auxiliary/vl/vl_video_buffer.h3
-rw-r--r--src/gallium/drivers/ilo/ilo_format.c5
-rw-r--r--src/gallium/drivers/nouveau/nouveau_vp3_video.c5
-rw-r--r--src/gallium/drivers/nouveau/nouveau_vp3_video.h3
-rw-r--r--src/gallium/drivers/nv50/nv50_context.h3
-rw-r--r--src/gallium/drivers/nv50/nv84_video.c5
-rw-r--r--src/gallium/drivers/radeon/radeon_uvd.c3
-rw-r--r--src/gallium/drivers/radeon/radeon_uvd.h3
-rw-r--r--src/gallium/include/pipe/p_screen.h3
-rw-r--r--src/gallium/state_trackers/vdpau/decode.c3
-rw-r--r--src/gallium/state_trackers/vdpau/query.c6
12 files changed, 29 insertions, 16 deletions
diff --git a/src/gallium/auxiliary/vl/vl_video_buffer.c b/src/gallium/auxiliary/vl/vl_video_buffer.c
index d81c1815abf..f0ba3891eb6 100644
--- a/src/gallium/auxiliary/vl/vl_video_buffer.c
+++ b/src/gallium/auxiliary/vl/vl_video_buffer.c
@@ -147,7 +147,8 @@ vl_video_buffer_surface_format(enum pipe_format format)
boolean
vl_video_buffer_is_format_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile)
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint)
{
const enum pipe_format *resource_formats;
unsigned i;
diff --git a/src/gallium/auxiliary/vl/vl_video_buffer.h b/src/gallium/auxiliary/vl/vl_video_buffer.h
index e92e2703116..b936a378e1e 100644
--- a/src/gallium/auxiliary/vl/vl_video_buffer.h
+++ b/src/gallium/auxiliary/vl/vl_video_buffer.h
@@ -73,7 +73,8 @@ vl_video_buffer_max_size(struct pipe_screen *screen);
boolean
vl_video_buffer_is_format_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile);
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint);
/*
* set the associated data for the given video buffer
diff --git a/src/gallium/drivers/ilo/ilo_format.c b/src/gallium/drivers/ilo/ilo_format.c
index 65fb8201726..40b5ffa75c7 100644
--- a/src/gallium/drivers/ilo/ilo_format.c
+++ b/src/gallium/drivers/ilo/ilo_format.c
@@ -671,9 +671,10 @@ ilo_is_format_supported(struct pipe_screen *screen,
static boolean
ilo_is_video_format_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile)
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint)
{
- return vl_video_buffer_is_format_supported(screen, format, profile);
+ return vl_video_buffer_is_format_supported(screen, format, profile, entrypoint);
}
/**
diff --git a/src/gallium/drivers/nouveau/nouveau_vp3_video.c b/src/gallium/drivers/nouveau/nouveau_vp3_video.c
index 1659c5f7e72..07ce0163f60 100644
--- a/src/gallium/drivers/nouveau/nouveau_vp3_video.c
+++ b/src/gallium/drivers/nouveau/nouveau_vp3_video.c
@@ -416,10 +416,11 @@ nouveau_vp3_screen_get_video_param(struct pipe_screen *pscreen,
boolean
nouveau_vp3_screen_video_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile)
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint)
{
if (profile != PIPE_VIDEO_PROFILE_UNKNOWN)
return format == PIPE_FORMAT_NV12;
- return vl_video_buffer_is_format_supported(screen, format, profile);
+ return vl_video_buffer_is_format_supported(screen, format, profile, entrypoint);
}
diff --git a/src/gallium/drivers/nouveau/nouveau_vp3_video.h b/src/gallium/drivers/nouveau/nouveau_vp3_video.h
index 8aedfd08da2..0193ed02ddb 100644
--- a/src/gallium/drivers/nouveau/nouveau_vp3_video.h
+++ b/src/gallium/drivers/nouveau/nouveau_vp3_video.h
@@ -226,4 +226,5 @@ nouveau_vp3_screen_get_video_param(struct pipe_screen *pscreen,
boolean
nouveau_vp3_screen_video_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile);
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint);
diff --git a/src/gallium/drivers/nv50/nv50_context.h b/src/gallium/drivers/nv50/nv50_context.h
index 3600f70a29c..ed4ef242f3a 100644
--- a/src/gallium/drivers/nv50/nv50_context.h
+++ b/src/gallium/drivers/nv50/nv50_context.h
@@ -307,7 +307,8 @@ nv84_screen_get_video_param(struct pipe_screen *pscreen,
boolean
nv84_screen_video_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile);
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint);
/* nv98_video.c */
struct pipe_video_codec *
diff --git a/src/gallium/drivers/nv50/nv84_video.c b/src/gallium/drivers/nv50/nv84_video.c
index e7c715c8ef6..0627bab1461 100644
--- a/src/gallium/drivers/nv50/nv84_video.c
+++ b/src/gallium/drivers/nv50/nv84_video.c
@@ -787,10 +787,11 @@ nv84_screen_get_video_param(struct pipe_screen *pscreen,
boolean
nv84_screen_video_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile)
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint)
{
if (profile != PIPE_VIDEO_PROFILE_UNKNOWN)
return format == PIPE_FORMAT_NV12;
- return vl_video_buffer_is_format_supported(screen, format, profile);
+ return vl_video_buffer_is_format_supported(screen, format, profile, entrypoint);
}
diff --git a/src/gallium/drivers/radeon/radeon_uvd.c b/src/gallium/drivers/radeon/radeon_uvd.c
index 86f4c5592fb..f3652a64c9c 100644
--- a/src/gallium/drivers/radeon/radeon_uvd.c
+++ b/src/gallium/drivers/radeon/radeon_uvd.c
@@ -1134,7 +1134,8 @@ int ruvd_get_video_param(struct pipe_screen *screen,
boolean ruvd_is_format_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile)
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint)
{
/* we can only handle this one anyway */
return format == PIPE_FORMAT_NV12;
diff --git a/src/gallium/drivers/radeon/radeon_uvd.h b/src/gallium/drivers/radeon/radeon_uvd.h
index 8c1ab79e1f8..dedb3c7040d 100644
--- a/src/gallium/drivers/radeon/radeon_uvd.h
+++ b/src/gallium/drivers/radeon/radeon_uvd.h
@@ -369,6 +369,7 @@ int ruvd_get_video_param(struct pipe_screen *screen,
/* the hardware only supports NV12 */
boolean ruvd_is_format_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile);
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint);
#endif
diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h
index f4907366706..3ed7f269e4f 100644
--- a/src/gallium/include/pipe/p_screen.h
+++ b/src/gallium/include/pipe/p_screen.h
@@ -136,7 +136,8 @@ struct pipe_screen {
*/
boolean (*is_video_format_supported)( struct pipe_screen *,
enum pipe_format format,
- enum pipe_video_profile profile );
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint );
/**
* Check if we can actually create the given resource (test the dimension,
diff --git a/src/gallium/state_trackers/vdpau/decode.c b/src/gallium/state_trackers/vdpau/decode.c
index f25a0eb8c49..684ded891c6 100644
--- a/src/gallium/state_trackers/vdpau/decode.c
+++ b/src/gallium/state_trackers/vdpau/decode.c
@@ -466,7 +466,8 @@ vlVdpDecoderRender(VdpDecoder decoder,
PIPE_VIDEO_CAP_SUPPORTS_INTERLACED);
if (vlsurf->video_buffer == NULL ||
- !screen->is_video_format_supported(screen, vlsurf->video_buffer->buffer_format, dec->profile) ||
+ !screen->is_video_format_supported(screen, vlsurf->video_buffer->buffer_format,
+ dec->profile, PIPE_VIDEO_ENTRYPOINT_BITSTREAM) ||
!buffer_support[vlsurf->video_buffer->interlaced]) {
/* destroy the old one */
diff --git a/src/gallium/state_trackers/vdpau/query.c b/src/gallium/state_trackers/vdpau/query.c
index fff7d6ba55b..8c1b27f5ab8 100644
--- a/src/gallium/state_trackers/vdpau/query.c
+++ b/src/gallium/state_trackers/vdpau/query.c
@@ -141,7 +141,8 @@ vlVdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities(VdpDevice device, VdpChromaTyp
(
pscreen,
FormatYCBCRToPipe(bits_ycbcr_format),
- PIPE_VIDEO_PROFILE_UNKNOWN
+ PIPE_VIDEO_PROFILE_UNKNOWN,
+ PIPE_VIDEO_ENTRYPOINT_BITSTREAM
);
pipe_mutex_unlock(dev->mutex);
@@ -391,7 +392,8 @@ vlVdpOutputSurfaceQueryPutBitsYCbCrCapabilities(VdpDevice device, VdpRGBAFormat
*is_supported &= pscreen->is_video_format_supported
(
pscreen, ycbcr_format,
- PIPE_VIDEO_PROFILE_UNKNOWN
+ PIPE_VIDEO_PROFILE_UNKNOWN,
+ PIPE_VIDEO_ENTRYPOINT_BITSTREAM
);
pipe_mutex_unlock(dev->mutex);