unsigned sample_count,
unsigned bindings)
{
+ if (sample_count > 8)
+ return FALSE;
if (!(0x117 & (1 << sample_count))) /* 0, 1, 2, 4 or 8 */
return FALSE;
return (nvc0_format_table[format].usage & bindings) == bindings;
}
+static boolean
+nvc0_screen_video_supported(struct pipe_screen *screen,
+ enum pipe_format format,
+ enum pipe_video_profile profile)
+{
+ if (profile != PIPE_VIDEO_PROFILE_UNKNOWN)
+ return format == PIPE_FORMAT_NV12;
+
+ return vl_video_buffer_is_format_supported(screen, format, profile);
+}
+
+
static int
nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
{
return (class_3d >= NVE4_3D_CLASS) ? 1 : 0;
case PIPE_CAP_TWO_SIDED_STENCIL:
case PIPE_CAP_DEPTH_CLIP_DISABLE:
- case PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE:
case PIPE_CAP_POINT_SPRITE:
return 1;
case PIPE_CAP_SM3:
nvc0_screen_init_resource_functions(pscreen);
- nouveau_screen_init_vdec(&screen->base);
+ screen->base.base.get_video_param = nvc0_screen_get_video_param;
+ screen->base.base.is_video_format_supported = nvc0_screen_video_supported;
ret = nouveau_bo_new(dev, NOUVEAU_BO_GART | NOUVEAU_BO_MAP, 0, 4096, NULL,
&screen->fence.bo);