Merge pull request #274472 from K900/mesa-fixes

mesa: backport patches to fix build on Darwin and 32-bit platforms
This commit is contained in:
K900
2023-12-16 04:37:22 +03:00
committed by GitHub
5 changed files with 492 additions and 10 deletions
@@ -0,0 +1,56 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "duncan.hopkins" <duncan.hopkins@foundry.com>
Date: Tue, 17 Oct 2023 09:34:31 +0100
Subject: [PATCH] dri: added build dependencies for systems using non-standard
prefixed X11 libs.
To get MacOS to build, some extra dependencies need to be added to a couple of build targets.
This mainly shows up when not installing the dependencies in the default prefix locations.
On MacOS, this happens when using a custom build of brew to install the dependencies to 'odd' locations.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25992>
---
src/gallium/targets/dri/meson.build | 2 +-
src/glx/meson.build | 2 +-
src/loader/meson.build | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/gallium/targets/dri/meson.build b/src/gallium/targets/dri/meson.build
index 66619bba0db..6d3ef197e74 100644
--- a/src/gallium/targets/dri/meson.build
+++ b/src/gallium/targets/dri/meson.build
@@ -49,7 +49,7 @@ libgallium_dri = shared_library(
link_depends : gallium_dri_link_depends,
link_with : [
libdri, libmesa, libgalliumvl,
- libgallium, libglapi, libpipe_loader_static, libws_null, libwsw, libswdri,
+ libgallium, libglapi, libloader, libpipe_loader_static, libws_null, libwsw, libswdri,
libswkmsdri,
],
dependencies : [
diff --git a/src/glx/meson.build b/src/glx/meson.build
index 7ec3e3e0d88..1a5e9833956 100644
--- a/src/glx/meson.build
+++ b/src/glx/meson.build
@@ -136,7 +136,7 @@ libglx = static_library(
],
dependencies : [
idep_mesautil, idep_xmlconfig,
- dep_libdrm, dep_dri2proto, dep_glproto, dep_x11, dep_glvnd, dep_xxf86vm, dep_xshmfence
+ dep_libdrm, dep_dri2proto, dep_glproto, dep_x11, dep_xext, dep_glvnd, dep_xxf86vm, dep_xshmfence
],
)
diff --git a/src/loader/meson.build b/src/loader/meson.build
index 35f9991ba2f..043cc852112 100644
--- a/src/loader/meson.build
+++ b/src/loader/meson.build
@@ -47,6 +47,6 @@ libloader = static_library(
c_args : loader_c_args,
gnu_symbol_visibility : 'hidden',
include_directories : [inc_include, inc_src, inc_util],
- dependencies : [dep_libdrm, dep_thread, dep_xcb_xrandr],
+ dependencies : [dep_libdrm, dep_thread, dep_xcb, dep_xcb_xrandr],
build_by_default : false,
)
@@ -0,0 +1,103 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "duncan.hopkins" <duncan.hopkins@foundry.com>
Date: Tue, 17 Oct 2023 14:36:39 +0100
Subject: [PATCH] util: Update util/libdrm.h stubs to allow loader.c to compile
on MacOS.
MacOS does not have the libdrm libraries so is missing xf86drm.h.
util/libdrm.h already has a collection of stubs for systems that do not support the libraries.
A compile on MacOS will fail with the source that uses newer drm functions and structures.
Update adds in missing items that MacOS code needs to compile and run.
New code is copied from the public repository: https://gitlab.freedesktop.org/mesa/drm/-/blob/main/xf86drm.h
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25992>
---
src/util/libdrm.h | 57 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/src/util/libdrm.h b/src/util/libdrm.h
index cc153cf88ab..e3af494b8d1 100644
--- a/src/util/libdrm.h
+++ b/src/util/libdrm.h
@@ -44,22 +44,79 @@
#define DRM_BUS_PLATFORM 2
#define DRM_BUS_HOST1X 3
+typedef struct _drmPciDeviceInfo {
+ uint16_t vendor_id;
+ uint16_t device_id;
+ uint16_t subvendor_id;
+ uint16_t subdevice_id;
+ uint8_t revision_id;
+} drmPciDeviceInfo, *drmPciDeviceInfoPtr;
+
+#define DRM_PLATFORM_DEVICE_NAME_LEN 512
+
+typedef struct _drmPlatformBusInfo {
+ char fullname[DRM_PLATFORM_DEVICE_NAME_LEN];
+} drmPlatformBusInfo, *drmPlatformBusInfoPtr;
+
+typedef struct _drmPlatformDeviceInfo {
+ char **compatible; /* NULL terminated list of compatible strings */
+} drmPlatformDeviceInfo, *drmPlatformDeviceInfoPtr;
+
+#define DRM_HOST1X_DEVICE_NAME_LEN 512
+
+typedef struct _drmHost1xBusInfo {
+ char fullname[DRM_HOST1X_DEVICE_NAME_LEN];
+} drmHost1xBusInfo, *drmHost1xBusInfoPtr;
+
+typedef struct _drmPciBusInfo {
+ uint16_t domain;
+ uint8_t bus;
+ uint8_t dev;
+ uint8_t func;
+} drmPciBusInfo, *drmPciBusInfoPtr;
+
typedef struct _drmDevice {
char **nodes; /* DRM_NODE_MAX sized array */
int available_nodes; /* DRM_NODE_* bitmask */
int bustype;
+ union {
+ drmPciBusInfoPtr pci;
+ drmPlatformBusInfoPtr platform;
+ drmHost1xBusInfoPtr host1x;
+ } businfo;
+ union {
+ drmPciDeviceInfoPtr pci;
+ } deviceinfo;
/* ... */
} drmDevice, *drmDevicePtr;
+static inline int
+drmGetDevice2(int fd, uint32_t flags, drmDevicePtr *device)
+{
+ return -ENOENT;
+}
+
static inline int
drmGetDevices2(uint32_t flags, drmDevicePtr devices[], int max_devices)
{
return -ENOENT;
}
+static inline int
+drmGetDeviceFromDevId(dev_t dev_id, uint32_t flags, drmDevicePtr *device)
+{
+ return -ENOENT;
+}
+
+static inline void
+drmFreeDevice(drmDevicePtr *device) {}
+
static inline void
drmFreeDevices(drmDevicePtr devices[], int count) {}
+static inline char*
+drmGetDeviceNameFromFd2(int fd) { return NULL;}
+
typedef struct _drmVersion {
int version_major; /**< Major version */
int version_minor; /**< Minor version */
@@ -0,0 +1,53 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "duncan.hopkins" <duncan.hopkins@foundry.com>
Date: Wed, 1 Nov 2023 11:31:13 +0000
Subject: [PATCH] glx: fix automatic zink fallback loading between hw and sw
drivers on MacOS
The combination of defines used when compile the code on MacOS is hiding variables.
Patch allows basic MacOS build to compile and run.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25992>
---
src/glx/glxext.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/glx/glxext.c b/src/glx/glxext.c
index 7712e54c1d6..454f2c36a77 100644
--- a/src/glx/glxext.c
+++ b/src/glx/glxext.c
@@ -878,12 +878,16 @@ __glXInitialize(Display * dpy)
dpyPriv->glXDrawHash = __glxHashCreate();
+ Bool zink = False;
+ Bool try_zink = False;
+
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
Bool glx_direct = !debug_get_bool_option("LIBGL_ALWAYS_INDIRECT", false);
Bool glx_accel = !debug_get_bool_option("LIBGL_ALWAYS_SOFTWARE", false);
const char *env = getenv("MESA_LOADER_DRIVER_OVERRIDE");
- Bool zink = env && !strcmp(env, "zink");
- Bool try_zink = False;
+
+ zink = env && !strcmp(env, "zink");
+ try_zink = False;
dpyPriv->drawHash = __glxHashCreate();
@@ -928,12 +932,14 @@ __glXInitialize(Display * dpy)
if (!AllocAndFetchScreenConfigs(dpy, dpyPriv, zink | try_zink)) {
Bool fail = True;
+#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
if (try_zink) {
free(dpyPriv->screens);
dpyPriv->driswDisplay->destroyDisplay(dpyPriv->driswDisplay);
dpyPriv->driswDisplay = driswCreateDisplay(dpy, false);
fail = !AllocAndFetchScreenConfigs(dpy, dpyPriv, False);
}
+#endif
if (fail) {
free(dpyPriv);
return NULL;
@@ -0,0 +1,270 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Sil Vilerino <sivileri@microsoft.com>
Date: Wed, 6 Dec 2023 20:09:44 -0500
Subject: [PATCH] d3d12: Fix AV1 video encode 32 bits build
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26573>
---
.../drivers/d3d12/d3d12_video_enc_av1.cpp | 58 +++++++++----------
...12_video_encoder_bitstream_builder_av1.cpp | 10 ++--
...2_video_encoder_references_manager_av1.cpp | 2 +-
3 files changed, 35 insertions(+), 35 deletions(-)
diff --git a/src/gallium/drivers/d3d12/d3d12_video_enc_av1.cpp b/src/gallium/drivers/d3d12/d3d12_video_enc_av1.cpp
index 2c1964aa274..a5e2a2e3d39 100644
--- a/src/gallium/drivers/d3d12/d3d12_video_enc_av1.cpp
+++ b/src/gallium/drivers/d3d12/d3d12_video_enc_av1.cpp
@@ -2189,7 +2189,7 @@ d3d12_video_encoder_build_post_encode_codec_bitstream_av1(struct d3d12_video_enc
writtenTemporalDelimBytes // Bytes Written AFTER placingPositionStart arg above
);
assert(pD3D12Enc->m_BitstreamHeadersBuffer.size() == writtenTemporalDelimBytes);
- debug_printf("Written OBU_TEMPORAL_DELIMITER bytes: %" PRIu64 "\n", writtenTemporalDelimBytes);
+ debug_printf("Written OBU_TEMPORAL_DELIMITER bytes: %" PRIu64 "\n", static_cast<uint64_t>(writtenTemporalDelimBytes));
}
size_t writtenSequenceBytes = 0;
@@ -2208,7 +2208,7 @@ d3d12_video_encoder_build_post_encode_codec_bitstream_av1(struct d3d12_video_enc
writtenSequenceBytes // Bytes Written AFTER placingPositionStart arg above
);
assert(pD3D12Enc->m_BitstreamHeadersBuffer.size() == (writtenSequenceBytes + writtenTemporalDelimBytes));
- debug_printf("Written OBU_SEQUENCE_HEADER bytes: %" PRIu64 "\n", writtenSequenceBytes);
+ debug_printf("Written OBU_SEQUENCE_HEADER bytes: %" PRIu64 "\n", static_cast<uint64_t>(writtenSequenceBytes));
}
// Only supported bitstream format is with obu_size for now.
@@ -2254,14 +2254,14 @@ d3d12_video_encoder_build_post_encode_codec_bitstream_av1(struct d3d12_video_enc
writtenFrameBytes // Bytes Written AFTER placingPositionStart arg above
);
- debug_printf("Written OBU_FRAME bytes: %" PRIu64 "\n", writtenFrameBytes);
+ debug_printf("Written OBU_FRAME bytes: %" PRIu64 "\n", static_cast<uint64_t>(writtenFrameBytes));
assert(pD3D12Enc->m_BitstreamHeadersBuffer.size() ==
(writtenSequenceBytes + writtenTemporalDelimBytes + writtenFrameBytes));
debug_printf("Uploading %" PRIu64
" bytes from OBU sequence and/or picture headers to comp_bit_destination %p at offset 0\n",
- pD3D12Enc->m_BitstreamHeadersBuffer.size(),
+ static_cast<uint64_t>(pD3D12Enc->m_BitstreamHeadersBuffer.size()),
associatedMetadata.comp_bit_destination);
// Upload headers to the finalized compressed bitstream buffer
@@ -2330,13 +2330,13 @@ d3d12_video_encoder_build_post_encode_codec_bitstream_av1(struct d3d12_video_enc
writtenFrameBytes // Bytes Written AFTER placingPositionStart arg above
);
- debug_printf("Written OBU_FRAME_HEADER bytes: %" PRIu64 "\n", writtenFrameBytes);
+ debug_printf("Written OBU_FRAME_HEADER bytes: %" PRIu64 "\n", static_cast<uint64_t>(writtenFrameBytes));
assert(pD3D12Enc->m_BitstreamHeadersBuffer.size() ==
(writtenSequenceBytes + writtenTemporalDelimBytes + writtenFrameBytes));
debug_printf("Uploading %" PRIu64 " bytes from OBU headers to comp_bit_destination %p at offset 0\n",
- pD3D12Enc->m_BitstreamHeadersBuffer.size(),
+ static_cast<uint64_t>(pD3D12Enc->m_BitstreamHeadersBuffer.size()),
associatedMetadata.comp_bit_destination);
// Upload headers to the finalized compressed bitstream buffer
@@ -2361,7 +2361,7 @@ d3d12_video_encoder_build_post_encode_codec_bitstream_av1(struct d3d12_video_enc
debug_printf("Uploading tile group %d to comp_bit_destination %p at offset %" PRIu64 "\n",
tg_idx,
associatedMetadata.comp_bit_destination,
- comp_bitstream_offset);
+ static_cast<uint64_t>(comp_bitstream_offset));
size_t tile_group_obu_size = 0;
size_t decode_tile_elements_size = 0;
@@ -2387,9 +2387,9 @@ d3d12_video_encoder_build_post_encode_codec_bitstream_av1(struct d3d12_video_enc
debug_printf("Written %" PRIu64 " bytes for OBU_TILE_GROUP open_bitstream_unit() prefix with obu_header() and "
"obu_size to staging_bitstream_buffer %p at offset %" PRIu64 "\n",
- writtenTileObuPrefixBytes,
+ static_cast<uint64_t>(writtenTileObuPrefixBytes),
associatedMetadata.m_StagingBitstreamConstruction.data(),
- staging_bitstream_buffer_offset);
+ static_cast<uint64_t>(staging_bitstream_buffer_offset));
writtenTileBytes += writtenTileObuPrefixBytes;
@@ -2404,10 +2404,10 @@ d3d12_video_encoder_build_post_encode_codec_bitstream_av1(struct d3d12_video_enc
debug_printf("Uploading %" PRIu64 " bytes for OBU_TILE_GROUP open_bitstream_unit() prefix with obu_header() "
"and obu_size: %" PRIu64 " to comp_bit_destination %p at offset %" PRIu64 "\n",
- writtenTileObuPrefixBytes,
- tile_group_obu_size,
+ static_cast<uint64_t>(writtenTileObuPrefixBytes),
+ static_cast<uint64_t>(tile_group_obu_size),
associatedMetadata.comp_bit_destination,
- comp_bitstream_offset);
+ static_cast<uint64_t>(comp_bitstream_offset));
staging_bitstream_buffer_offset += writtenTileObuPrefixBytes;
@@ -2517,7 +2517,7 @@ d3d12_video_encoder_build_post_encode_codec_bitstream_av1(struct d3d12_video_enc
// Add current pending frame being processed in the loop
extra_show_existing_frame_payload_bytes += writtenTemporalDelimBytes;
- debug_printf("Written OBU_TEMPORAL_DELIMITER bytes: %" PRIu64 "\n", writtenTemporalDelimBytes);
+ debug_printf("Written OBU_TEMPORAL_DELIMITER bytes: %" PRIu64 "\n", static_cast<uint64_t>(writtenTemporalDelimBytes));
size_t writtenShowExistingFrameBytes = 0;
av1_pic_header_t showExistingPicHdr = {};
@@ -2561,7 +2561,7 @@ d3d12_video_encoder_build_post_encode_codec_bitstream_av1(struct d3d12_video_enc
"in current frame ref_frame_idx[%" PRIu32 "]) bytes: %" PRIu64 "\n",
*pendingFrameIt /*PictureIndex*/,
showExistingPicHdr.frame_to_show_map_idx,
- writtenShowExistingFrameBytes);
+ static_cast<uint64_t>(writtenShowExistingFrameBytes));
// Remove it from the list of pending frames
pendingFrameIt =
@@ -2628,7 +2628,7 @@ upload_tile_group_obu(struct d3d12_video_encoder *pD3D12Enc,
tileGroup.tg_start,
tileGroup.tg_end,
comp_bit_destination,
- comp_bit_destination_offset);
+ static_cast<uint64_t>(comp_bit_destination_offset));
debug_printf("[Tile group start %d to end %d] Using staging_bitstream_buffer %p at offset %" PRIu64
" to write the tile_obu_group() prefix syntax: tile_start_and_end_present_flag, tg_start, tg_end and "
@@ -2636,7 +2636,7 @@ upload_tile_group_obu(struct d3d12_video_encoder *pD3D12Enc,
tileGroup.tg_start,
tileGroup.tg_end,
staging_bitstream_buffer.data(),
- staging_bitstream_buffer_offset);
+ static_cast<uint64_t>(staging_bitstream_buffer_offset));
// Reserve space upfront in the scratch storage
// Do not modify anything before staging_bitstream_buffer_offset
@@ -2673,9 +2673,9 @@ upload_tile_group_obu(struct d3d12_video_encoder *pD3D12Enc,
" for tile_obu_group() prefix syntax: tile_start_and_end_present_flag, tg_start, tg_end\n",
tileGroup.tg_start,
tileGroup.tg_end,
- bitstream_tile_group_obu_bytes,
+ static_cast<uint64_t>(bitstream_tile_group_obu_bytes),
staging_bitstream_buffer.data(),
- staging_bitstream_buffer_offset);
+ static_cast<uint64_t>(staging_bitstream_buffer_offset));
// Save this to compare the final written destination byte size against the expected tile_group_obu_size
@@ -2699,11 +2699,11 @@ upload_tile_group_obu(struct d3d12_video_encoder *pD3D12Enc,
" to comp_bit_destination %p at offset %" PRIu64 "\n",
tileGroup.tg_start,
tileGroup.tg_end,
- bitstream_tile_group_obu_bytes,
+ static_cast<uint64_t>(bitstream_tile_group_obu_bytes),
staging_bitstream_buffer.data(),
- staging_bitstream_buffer_offset,
+ static_cast<uint64_t>(staging_bitstream_buffer_offset),
comp_bit_destination,
- comp_bit_destination_offset);
+ static_cast<uint64_t>(comp_bit_destination_offset));
comp_bit_destination_offset += bitstream_tile_group_obu_bytes;
written_bytes_to_staging_bitstream_buffer += bitstream_tile_group_obu_bytes;
@@ -2729,9 +2729,9 @@ upload_tile_group_obu(struct d3d12_video_encoder *pD3D12Enc,
tileGroup.tg_start,
tileGroup.tg_end,
TileIdx,
- TileSizeBytes,
+ static_cast<uint64_t>(TileSizeBytes),
staging_bitstream_buffer.data(),
- (written_bytes_to_staging_bitstream_buffer + staging_bitstream_buffer_offset));
+ static_cast<uint64_t>(written_bytes_to_staging_bitstream_buffer + staging_bitstream_buffer_offset));
// Upload current tile_size_minus_1
// Note: The buffer_subdata is queued in pD3D12Enc->base.context but doesn't execute immediately
@@ -2751,11 +2751,11 @@ upload_tile_group_obu(struct d3d12_video_encoder *pD3D12Enc,
tileGroup.tg_start,
tileGroup.tg_end,
TileIdx,
- TileSizeBytes,
+ static_cast<uint64_t>(TileSizeBytes),
staging_bitstream_buffer.data(),
- (written_bytes_to_staging_bitstream_buffer + staging_bitstream_buffer_offset),
+ static_cast<uint64_t>(written_bytes_to_staging_bitstream_buffer + staging_bitstream_buffer_offset),
comp_bit_destination,
- comp_bit_destination_offset);
+ static_cast<uint64_t>(comp_bit_destination_offset));
comp_bit_destination_offset += TileSizeBytes;
written_bytes_to_staging_bitstream_buffer += TileSizeBytes;
@@ -2788,11 +2788,11 @@ upload_tile_group_obu(struct d3d12_video_encoder *pD3D12Enc,
tileGroup.tg_start,
tileGroup.tg_end,
TileIdx,
- tile_size,
+ static_cast<uint64_t>(tile_size),
src_driver_bitstream,
- src_buf_tile_position,
+ static_cast<uint64_t>(src_buf_tile_position),
comp_bit_destination,
- comp_bit_destination_offset);
+ static_cast<uint64_t>(comp_bit_destination_offset));
comp_bit_destination_offset += tile_size;
}
diff --git a/src/gallium/drivers/d3d12/d3d12_video_encoder_bitstream_builder_av1.cpp b/src/gallium/drivers/d3d12/d3d12_video_encoder_bitstream_builder_av1.cpp
index 25550a2b4fb..96b7e32eb8e 100644
--- a/src/gallium/drivers/d3d12/d3d12_video_encoder_bitstream_builder_av1.cpp
+++ b/src/gallium/drivers/d3d12/d3d12_video_encoder_bitstream_builder_av1.cpp
@@ -153,7 +153,7 @@ d3d12_video_bitstream_builder_av1::write_temporal_delimiter_obu(std::vector<uint
write_obu_header(&bitstream_full_obu, OBU_TEMPORAL_DELIMITER, obu_extension_flag, temporal_id, spatial_id);
// Write the data size
- const size_t obu_size_in_bytes = 0;
+ const uint64_t obu_size_in_bytes = 0;
debug_printf("obu_size: %" PRIu64 " (temporal_delimiter_obu() has empty payload as per AV1 codec spec)\n",
obu_size_in_bytes);
pack_obu_header_size(&bitstream_full_obu, obu_size_in_bytes);
@@ -197,7 +197,7 @@ d3d12_video_bitstream_builder_av1::write_sequence_header(const av1_seq_header_t
write_obu_header(&bitstream_full_obu, OBU_SEQUENCE_HEADER, obu_extension_flag, temporal_id, spatial_id);
// Write the data size
- const size_t obu_size_in_bytes = static_cast<size_t>(bitstream_seq.get_byte_count());
+ const uint64_t obu_size_in_bytes = bitstream_seq.get_byte_count();
debug_printf("obu_size: %" PRIu64 "\n", obu_size_in_bytes);
pack_obu_header_size(&bitstream_full_obu, obu_size_in_bytes);
@@ -802,7 +802,7 @@ d3d12_video_bitstream_builder_av1::write_frame_header(const av1_seq_header_t *pS
debug_printf("frame_header_obu() bytes (without OBU_FRAME nor OBU_FRAME_HEADER alignment padding): %" PRId32 "\n",
bitstream_pic.get_byte_count()); // May be bit unaligned at this point (see padding below)
debug_printf("extra_obu_size_bytes (ie. tile_group_obu_size if writing OBU_FRAME ): %" PRIu64 "\n",
- extra_obu_size_bytes);
+ static_cast<uint64_t>(extra_obu_size_bytes));
// Write the obu_header
constexpr uint32_t obu_extension_flag = 0;
@@ -825,7 +825,7 @@ d3d12_video_bitstream_builder_av1::write_frame_header(const av1_seq_header_t *pS
bitstream_pic.flush();
// Write the obu_size element
- const size_t obu_size_in_bytes = bitstream_pic.get_byte_count() + extra_obu_size_bytes;
+ const uint64_t obu_size_in_bytes = bitstream_pic.get_byte_count() + extra_obu_size_bytes;
debug_printf("obu_size: %" PRIu64 "\n", obu_size_in_bytes);
pack_obu_header_size(&bitstream_full_obu, obu_size_in_bytes);
@@ -913,7 +913,7 @@ d3d12_video_bitstream_builder_av1::write_obu_tile_group_header(size_t tile_group
// Write the obu_size element
pack_obu_header_size(&bitstream_full_obu, tile_group_obu_size);
- debug_printf("obu_size: %" PRIu64 "\n", tile_group_obu_size);
+ debug_printf("obu_size: %" PRIu64 "\n", static_cast<uint64_t>(tile_group_obu_size));
bitstream_full_obu.flush();
diff --git a/src/gallium/drivers/d3d12/d3d12_video_encoder_references_manager_av1.cpp b/src/gallium/drivers/d3d12/d3d12_video_encoder_references_manager_av1.cpp
index 49892338984..2f4bcf0e1eb 100644
--- a/src/gallium/drivers/d3d12/d3d12_video_encoder_references_manager_av1.cpp
+++ b/src/gallium/drivers/d3d12/d3d12_video_encoder_references_manager_av1.cpp
@@ -213,7 +213,7 @@ d3d12_video_encoder_references_manager_av1::print_virtual_dpb_entries()
"Number of DPB virtual entries is %" PRIu64 " entries for frame with OrderHint "
"%d (PictureIndex %d) are: \n%s \n",
m_PhysicalAllocationsStorage.get_number_of_pics_in_dpb(),
- m_CurrentFrameReferencesData.pVirtualDPBEntries.size(),
+ static_cast<uint64_t>(m_CurrentFrameReferencesData.pVirtualDPBEntries.size()),
m_CurrentFramePicParams.OrderHint,
m_CurrentFramePicParams.PictureIndex,
dpbContents.c_str());
+10 -10
View File
@@ -121,17 +121,17 @@ self = stdenv.mkDerivation {
./opencl.patch
./disk_cache-include-dri-driver-path-in-cache-key.patch
] ++ lib.optionals stdenv.isDarwin [
# Backports to fix build
# FIXME: remove when applied upstream
# Fix build on macOS
# Last two commits from https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25992
(fetchpatch {
url = "https://gitlab.freedesktop.org/mesa/mesa/-/commit/c8b64452c076c1768beb23280de25faf2bcbe2c8.diff";
hash = "sha256-mqivdzyoLtkfkAb+r57gjPwg8d7whgFAahiUhGVOOvo=";
})
(fetchpatch {
url = "https://gitlab.freedesktop.org/mesa/mesa/-/commit/96d55d784cb4f047a4b58cd08330f42208641ea7.diff";
hash = "sha256-SkWdvqltfByFiKlhr9YILA6qWQxuyKz/YTanVp/NMzg=";
})
./backports/0001-dri-added-build-dependencies-for-systems-using-non-s.patch
./backports/0002-util-Update-util-libdrm.h-stubs-to-allow-loader.c-to.patch
./backports/0003-glx-fix-automatic-zink-fallback-loading-between-hw-a.patch
# Fix build on i686
./backports/0004-d3d12-Fix-AV1-video-encode-32-bits-build.patch
];
postPatch = ''