[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Git][xorg-team/lib/libdrm][debian-unstable] 8 commits: radeon: fix missing stencil_tile_mode initialisation in the linear/fallback case



Title: GitLab

Timo Aaltonen pushed to branch debian-unstable at X Strike Force / lib / libdrm

Commits:

  • 54b12081
    by Eric Engestrom at 2024-01-01T07:43:19+00:00
    radeon: fix missing stencil_tile_mode initialisation in the linear/fallback case
    
    ../radeon/radeon_surface.c:1611:13: error: 'stencil_tile_mode' may be used uninitialized [-Werror=maybe-uninitialized]
     1611 |         r = si_surface_init_1d(surf_man, surf, surf->stencil_level, 1, stencil_tile_mode, surf->bo_size, 0);
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
  • 118addfa
    by Pierre-Eric Pelloux-Prayer at 2024-01-04T11:00:37+01:00
    amdgpu: fix use-after-free
    
    Closes: https://gitlab.freedesktop.org/mesa/drm/-/issues/96
    Reviewed-by: Marek Olšák <marek.olsak@amd.com>
    
  • 6c4392f4
    by Simon Ser at 2024-01-13T10:33:05+01:00
    Sync headers with drm-next
    
    Synchronize drm.h and drm_mode.h to drm-next.
    
    Generated using make headers_install.
    Generated from drm-next branch commit a60501d7c2d3e70b3545b9b96576628e369d8e85
    
    Signed-off-by: Simon Ser <contact@emersion.fr>
    Acked-by: Simon Zeni <simon.zeni@collabora.com>
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    
  • 75254bf2
    by Simon Ser at 2024-01-13T10:37:07+01:00
    build: bump version to 2.4.120
    
    Signed-off-by: Simon Ser <contact@emersion.fr>
    
  • d48766f0
    by Timo Aaltonen at 2024-01-16T14:06:04+02:00
    release to sid, for real this time
    
  • b0663862
    by Timo Aaltonen at 2024-01-16T14:07:56+02:00
    Merge branch 'upstream-unstable' into debian-unstable
    
  • 55bd6ab7
    by Timo Aaltonen at 2024-01-16T14:08:22+02:00
    version bump
    
  • 9457e0dd
    by Timo Aaltonen at 2024-01-16T14:09:01+02:00
    release to sid
    

6 changed files:

Changes:

  • amdgpu/amdgpu_cs.c
    ... ... @@ -140,8 +140,8 @@ drm_public int amdgpu_cs_ctx_free(amdgpu_context_handle context)
    140 140
     	for (i = 0; i < AMDGPU_HW_IP_NUM; i++) {
    
    141 141
     		for (j = 0; j < AMDGPU_HW_IP_INSTANCE_MAX_COUNT; j++) {
    
    142 142
     			for (k = 0; k < AMDGPU_CS_MAX_RINGS; k++) {
    
    143
    -				amdgpu_semaphore_handle sem;
    
    144
    -				LIST_FOR_EACH_ENTRY(sem, &context->sem_list[i][j][k], list) {
    
    143
    +				amdgpu_semaphore_handle sem, tmp;
    
    144
    +				LIST_FOR_EACH_ENTRY_SAFE(sem, tmp, &context->sem_list[i][j][k], list) {
    
    145 145
     					list_del(&sem->list);
    
    146 146
     					amdgpu_cs_reset_sem(sem);
    
    147 147
     					amdgpu_cs_unreference_sem(sem);
    

  • debian/changelog
    1
    -libdrm (2.4.119-2) UNRELEASED; urgency=medium
    
    1
    +libdrm (2.4.120-1) unstable; urgency=medium
    
    2 2
     
    
    3
    +  * New upstream release.
    
    4
    +
    
    5
    + -- Timo Aaltonen <tjaalton@debian.org>  Tue, 16 Jan 2024 14:08:50 +0200
    
    6
    +
    
    7
    +libdrm (2.4.119-2) unstable; urgency=medium
    
    8
    +
    
    9
    +  [ Diederik de Haas ]
    
    3 10
       * Add new signing-key from Marek Olšák
    
    4 11
       * symbols: Add new symbol for amdgpu
    
    5 12
     
    
    6
    - -- Diederik de Haas <didi.debian@cknow.org>  Fri, 12 Jan 2024 19:43:14 +0100
    
    13
    + -- Timo Aaltonen <tjaalton@debian.org>  Tue, 16 Jan 2024 14:05:50 +0200
    
    7 14
     
    
    8 15
     libdrm (2.4.119-1) unstable; urgency=medium
    
    9 16
     
    

  • include/drm/drm.h
    ... ... @@ -707,7 +707,8 @@ struct drm_gem_open {
    707 707
     /**
    
    708 708
      * DRM_CAP_ASYNC_PAGE_FLIP
    
    709 709
      *
    
    710
    - * If set to 1, the driver supports &DRM_MODE_PAGE_FLIP_ASYNC.
    
    710
    + * If set to 1, the driver supports &DRM_MODE_PAGE_FLIP_ASYNC for legacy
    
    711
    + * page-flips.
    
    711 712
      */
    
    712 713
     #define DRM_CAP_ASYNC_PAGE_FLIP		0x7
    
    713 714
     /**
    
    ... ... @@ -767,6 +768,13 @@ struct drm_gem_open {
    767 768
      * :ref:`drm_sync_objects`.
    
    768 769
      */
    
    769 770
     #define DRM_CAP_SYNCOBJ_TIMELINE	0x14
    
    771
    +/**
    
    772
    + * DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP
    
    773
    + *
    
    774
    + * If set to 1, the driver supports &DRM_MODE_PAGE_FLIP_ASYNC for atomic
    
    775
    + * commits.
    
    776
    + */
    
    777
    +#define DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP	0x15
    
    770 778
     
    
    771 779
     /* DRM_IOCTL_GET_CAP ioctl argument type */
    
    772 780
     struct drm_get_cap {
    
    ... ... @@ -836,6 +844,31 @@ struct drm_get_cap {
    836 844
      */
    
    837 845
     #define DRM_CLIENT_CAP_WRITEBACK_CONNECTORS	5
    
    838 846
     
    
    847
    +/**
    
    848
    + * DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT
    
    849
    + *
    
    850
    + * Drivers for para-virtualized hardware (e.g. vmwgfx, qxl, virtio and
    
    851
    + * virtualbox) have additional restrictions for cursor planes (thus
    
    852
    + * making cursor planes on those drivers not truly universal,) e.g.
    
    853
    + * they need cursor planes to act like one would expect from a mouse
    
    854
    + * cursor and have correctly set hotspot properties.
    
    855
    + * If this client cap is not set the DRM core will hide cursor plane on
    
    856
    + * those virtualized drivers because not setting it implies that the
    
    857
    + * client is not capable of dealing with those extra restictions.
    
    858
    + * Clients which do set cursor hotspot and treat the cursor plane
    
    859
    + * like a mouse cursor should set this property.
    
    860
    + * The client must enable &DRM_CLIENT_CAP_ATOMIC first.
    
    861
    + *
    
    862
    + * Setting this property on drivers which do not special case
    
    863
    + * cursor planes (i.e. non-virtualized drivers) will return
    
    864
    + * EOPNOTSUPP, which can be used by userspace to gauge
    
    865
    + * requirements of the hardware/drivers they're running on.
    
    866
    + *
    
    867
    + * This capability is always supported for atomic-capable virtualized
    
    868
    + * drivers starting from kernel version 6.6.
    
    869
    + */
    
    870
    +#define DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT	6
    
    871
    +
    
    839 872
     /* DRM_IOCTL_SET_CLIENT_CAP ioctl argument type */
    
    840 873
     struct drm_set_client_cap {
    
    841 874
     	__u64 capability;
    
    ... ... @@ -887,6 +920,7 @@ struct drm_syncobj_transfer {
    887 920
     #define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL (1 << 0)
    
    888 921
     #define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT (1 << 1)
    
    889 922
     #define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE (1 << 2) /* wait for time point to become available */
    
    923
    +#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_DEADLINE (1 << 3) /* set fence deadline to deadline_nsec */
    
    890 924
     struct drm_syncobj_wait {
    
    891 925
     	__u64 handles;
    
    892 926
     	/* absolute timeout */
    
    ... ... @@ -895,6 +929,14 @@ struct drm_syncobj_wait {
    895 929
     	__u32 flags;
    
    896 930
     	__u32 first_signaled; /* only valid when not waiting all */
    
    897 931
     	__u32 pad;
    
    932
    +	/**
    
    933
    +	 * @deadline_nsec - fence deadline hint
    
    934
    +	 *
    
    935
    +	 * Deadline hint, in absolute CLOCK_MONOTONIC, to set on backing
    
    936
    +	 * fence(s) if the DRM_SYNCOBJ_WAIT_FLAGS_WAIT_DEADLINE flag is
    
    937
    +	 * set.
    
    938
    +	 */
    
    939
    +	__u64 deadline_nsec;
    
    898 940
     };
    
    899 941
     
    
    900 942
     struct drm_syncobj_timeline_wait {
    
    ... ... @@ -907,6 +949,14 @@ struct drm_syncobj_timeline_wait {
    907 949
     	__u32 flags;
    
    908 950
     	__u32 first_signaled; /* only valid when not waiting all */
    
    909 951
     	__u32 pad;
    
    952
    +	/**
    
    953
    +	 * @deadline_nsec - fence deadline hint
    
    954
    +	 *
    
    955
    +	 * Deadline hint, in absolute CLOCK_MONOTONIC, to set on backing
    
    956
    +	 * fence(s) if the DRM_SYNCOBJ_WAIT_FLAGS_WAIT_DEADLINE flag is
    
    957
    +	 * set.
    
    958
    +	 */
    
    959
    +	__u64 deadline_nsec;
    
    910 960
     };
    
    911 961
     
    
    912 962
     /**
    

  • include/drm/drm_mode.h
    ... ... @@ -957,6 +957,15 @@ struct hdr_output_metadata {
    957 957
      * Request that the page-flip is performed as soon as possible, ie. with no
    
    958 958
      * delay due to waiting for vblank. This may cause tearing to be visible on
    
    959 959
      * the screen.
    
    960
    + *
    
    961
    + * When used with atomic uAPI, the driver will return an error if the hardware
    
    962
    + * doesn't support performing an asynchronous page-flip for this update.
    
    963
    + * User-space should handle this, e.g. by falling back to a regular page-flip.
    
    964
    + *
    
    965
    + * Note, some hardware might need to perform one last synchronous page-flip
    
    966
    + * before being able to switch to asynchronous page-flips. As an exception,
    
    967
    + * the driver will return success even though that first page-flip is not
    
    968
    + * asynchronous.
    
    960 969
      */
    
    961 970
     #define DRM_MODE_PAGE_FLIP_ASYNC 0x02
    
    962 971
     #define DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE 0x4
    

  • meson.build
    ... ... @@ -21,7 +21,7 @@
    21 21
     project(
    
    22 22
       'libdrm',
    
    23 23
       ['c'],
    
    24
    -  version : '2.4.119',
    
    24
    +  version : '2.4.120',
    
    25 25
       license : 'MIT',
    
    26 26
       meson_version : '>= 0.59',
    
    27 27
       default_options : ['buildtype=debugoptimized', 'c_std=c11'],
    

  • radeon/radeon_surface.c
    ... ... @@ -2205,6 +2205,7 @@ static int cik_surface_sanity(struct radeon_surface_manager *surf_man,
    2205 2205
             break;
    
    2206 2206
         case RADEON_SURF_MODE_LINEAR_ALIGNED:
    
    2207 2207
         default:
    
    2208
    +        *stencil_tile_mode = SI_TILE_MODE_COLOR_LINEAR_ALIGNED;
    
    2208 2209
             *tile_mode = SI_TILE_MODE_COLOR_LINEAR_ALIGNED;
    
    2209 2210
         }
    
    2210 2211
     
    


  • Reply to: