about summary refs log tree commit diff
path: root/pkgs/development/libraries/mesa
diff options
context:
space:
mode:
authorK900 <me@0upti.me>2023-12-29 19:27:09 +0300
committerK900 <me@0upti.me>2023-12-29 19:27:09 +0300
commitbe9351cb7cbd712c20d35282226288f7321809b8 (patch)
tree880f2884410e1ada4afce05051535164ccab668f /pkgs/development/libraries/mesa
parent895cd4b126fc9d8f3009149e81ab12189969dd38 (diff)
mesa: 23.3.1 -> 23.3.2
i686 patch got merged
Diffstat (limited to 'pkgs/development/libraries/mesa')
-rw-r--r--pkgs/development/libraries/mesa/backports/0004-d3d12-Fix-AV1-video-encode-32-bits-build.patch270
-rw-r--r--pkgs/development/libraries/mesa/default.nix7
2 files changed, 2 insertions, 275 deletions
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 <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());
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 = ''