diff --git a/pkgs/development/libraries/mesa/backports/0004-d3d12-Fix-AV1-video-encode-32-bits-build.patch b/pkgs/development/libraries/mesa/backports/0004-d3d12-Fix-AV1-video-encode-32-bits-build.patch deleted file mode 100644 index 6152ad7c174ed..0000000000000 --- a/pkgs/development/libraries/mesa/backports/0004-d3d12-Fix-AV1-video-encode-32-bits-build.patch +++ /dev/null @@ -1,270 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Sil Vilerino -Date: Wed, 6 Dec 2023 20:09:44 -0500 -Subject: [PATCH] d3d12: Fix AV1 video encode 32 bits build - -Reviewed-by: Jesse Natalie -Part-of: ---- - .../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(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(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(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(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(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(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(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(writtenTileObuPrefixBytes), - associatedMetadata.m_StagingBitstreamConstruction.data(), -- staging_bitstream_buffer_offset); -+ static_cast(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(writtenTileObuPrefixBytes), -+ static_cast(tile_group_obu_size), - associatedMetadata.comp_bit_destination, -- comp_bitstream_offset); -+ static_cast(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(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(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(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(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(bitstream_tile_group_obu_bytes), - staging_bitstream_buffer.data(), -- staging_bitstream_buffer_offset); -+ static_cast(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(bitstream_tile_group_obu_bytes), - staging_bitstream_buffer.data(), -- staging_bitstream_buffer_offset, -+ static_cast(staging_bitstream_buffer_offset), - comp_bit_destination, -- comp_bit_destination_offset); -+ static_cast(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(TileSizeBytes), - staging_bitstream_buffer.data(), -- (written_bytes_to_staging_bitstream_buffer + staging_bitstream_buffer_offset)); -+ static_cast(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(TileSizeBytes), - staging_bitstream_buffer.data(), -- (written_bytes_to_staging_bitstream_buffer + staging_bitstream_buffer_offset), -+ static_cast(written_bytes_to_staging_bitstream_buffer + staging_bitstream_buffer_offset), - comp_bit_destination, -- comp_bit_destination_offset); -+ static_cast(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(tile_size), - src_driver_bitstream, -- src_buf_tile_position, -+ static_cast(src_buf_tile_position), - comp_bit_destination, -- comp_bit_destination_offset); -+ static_cast(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(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(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(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(m_CurrentFrameReferencesData.pVirtualDPBEntries.size()), - m_CurrentFramePicParams.OrderHint, - m_CurrentFramePicParams.PictureIndex, - dpbContents.c_str()); diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index d28b5434e8459..28656a5b78a69 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -85,8 +85,8 @@ */ let - version = "23.3.1"; - hash = "sha256-bkgSbXD9s/IP/rJGygwuQf/cg18GY6A9RSa4v120HeY="; + version = "23.3.2"; + hash = "sha256-PPy4H6FvicVqvjhV0mN9OW7k4DhJtlkACmuOX1fmmtw="; # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule @@ -129,9 +129,6 @@ self = stdenv.mkDerivation { ./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 = ''