On Thu, May 25 2023 at 08:13:43 AM -07:00:00, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
On Thu, May 25, 2023 at 01:24:55PM +0000, Jose Souza wrote:
Hi Planning to push this today, Christopher already have sent the Mesa MR and IGT patch series.
the whole point of this series is being able to fix it without having to synchronize with the mesa / media / igt / intel-compute updates. There are some reordering in the structs that would better be done before applying upstream and when that is done, then we need to sync all the UMDs. But not for this.

Unfortunately, all userspace software which is also built for multilib must synchronize with this change, or else their 32-bit userspace will simply fail. In my experience, apps consuming Mesa 32-bit without this change will fail spectacularly, often crashing on startup.

I suppose only Mesa really matters, since most users won't be installing proprietary software that consumes 32-bit OpenCL or VA-API, but there may yet be cases for that. This is usually proprietary software, often involving use of Wine, such as Steam's Proton distribution.

Lucas De Marchi
It should not break 64 bits ABI but would be good to update intel-compute and media as well. On Wed, 2023-05-24 at 18:56 -0700, Christopher Snowhill wrote:
This series takes off from mlankhorst's attempt to do the same, except instead, it tries to be as minimally invasive to the original uAPI as possible, by only inserting padding where appropriate to ensure all 32-bit members are 32-bit aligned, and all 64-bit members are 64-bit aligned. This should have zero effect on 64-bit hosts versus 64-bit userspace, so existing native software will operate the same with or without the update. The only real change is 32-bit compat support for multilib userspace, which was previously broken. Also introduces field validation against all of the padding and reserved fields, which must be zero, in a separate commit. v2: Removed extensions checks where there were none originally. (José) Moved extraneous parentheses to the correct places. (Lucas) Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Christopher Snowhill <kode54@gmail.com> Christopher Snowhill (2): drm/xe: Add explicit padding to uAPI definition drm/xe: Validate uAPI padding and reserved fields drivers/gpu/drm/xe/xe_bo.c | 6 +++-- drivers/gpu/drm/xe/xe_engine.c | 18 ++++++++++--- drivers/gpu/drm/xe/xe_exec.c | 4 ++- drivers/gpu/drm/xe/xe_mmio.c | 3 ++- drivers/gpu/drm/xe/xe_query.c | 3 ++- drivers/gpu/drm/xe/xe_sync.c | 4 ++- drivers/gpu/drm/xe/xe_vm.c | 22 +++++++++++++--- drivers/gpu/drm/xe/xe_vm_madvise.c | 4 ++- drivers/gpu/drm/xe/xe_wait_user_fence.c | 3 ++- include/uapi/drm/xe_drm.h | 34 ++++++++++++++++++++++++- 10 files changed, 85 insertions(+), 16 deletions(-)