Skip to content

Commit 09a55f3

Browse files
committed
Deploying to master from @ gfx-rs/wgpu@5543961 🚀
1 parent a193c07 commit 09a55f3

File tree

111 files changed

+436
-276
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+436
-276
lines changed

doc/search-index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

doc/src/wgpu_core/command/compute.rs.html

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1332,6 +1332,12 @@
13321332
<a href="#1331" id="1331">1331</a>
13331333
<a href="#1332" id="1332">1332</a>
13341334
<a href="#1333" id="1333">1333</a>
1335+
<a href="#1334" id="1334">1334</a>
1336+
<a href="#1335" id="1335">1335</a>
1337+
<a href="#1336" id="1336">1336</a>
1338+
<a href="#1337" id="1337">1337</a>
1339+
<a href="#1338" id="1338">1338</a>
1340+
<a href="#1339" id="1339">1339</a>
13351341
</pre></div><pre class="rust"><code><span class="kw">use crate</span>::{
13361342
binding_model::{
13371343
BindError, BindGroup, LateMinBufferBindingSizeMismatch, PushConstantUploadError,
@@ -2280,7 +2286,10 @@
22802286
<span class="kw">unsafe </span>{
22812287
state.raw_encoder.transition_buffers(<span class="kw-2">&amp;</span>[hal::BufferBarrier {
22822288
buffer: params.dst_buffer,
2283-
usage: hal::BufferUses::INDIRECT..hal::BufferUses::STORAGE_READ_WRITE,
2289+
usage: hal::StateTransition {
2290+
from: hal::BufferUses::INDIRECT,
2291+
to: hal::BufferUses::STORAGE_READ_WRITE,
2292+
},
22842293
}]);
22852294
}
22862295

@@ -2324,7 +2333,10 @@
23242333
<span class="kw">unsafe </span>{
23252334
state.raw_encoder.transition_buffers(<span class="kw-2">&amp;</span>[hal::BufferBarrier {
23262335
buffer: params.dst_buffer,
2327-
usage: hal::BufferUses::STORAGE_READ_WRITE..hal::BufferUses::INDIRECT,
2336+
usage: hal::StateTransition {
2337+
from: hal::BufferUses::STORAGE_READ_WRITE,
2338+
to: hal::BufferUses::INDIRECT,
2339+
},
23282340
}]);
23292341
}
23302342

doc/src/wgpu_core/command/ray_tracing.rs.html

Lines changed: 58 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1306,6 +1306,28 @@
13061306
<a href="#1305" id="1305">1305</a>
13071307
<a href="#1306" id="1306">1306</a>
13081308
<a href="#1307" id="1307">1307</a>
1309+
<a href="#1308" id="1308">1308</a>
1310+
<a href="#1309" id="1309">1309</a>
1311+
<a href="#1310" id="1310">1310</a>
1312+
<a href="#1311" id="1311">1311</a>
1313+
<a href="#1312" id="1312">1312</a>
1314+
<a href="#1313" id="1313">1313</a>
1315+
<a href="#1314" id="1314">1314</a>
1316+
<a href="#1315" id="1315">1315</a>
1317+
<a href="#1316" id="1316">1316</a>
1318+
<a href="#1317" id="1317">1317</a>
1319+
<a href="#1318" id="1318">1318</a>
1320+
<a href="#1319" id="1319">1319</a>
1321+
<a href="#1320" id="1320">1320</a>
1322+
<a href="#1321" id="1321">1321</a>
1323+
<a href="#1322" id="1322">1322</a>
1324+
<a href="#1323" id="1323">1323</a>
1325+
<a href="#1324" id="1324">1324</a>
1326+
<a href="#1325" id="1325">1325</a>
1327+
<a href="#1326" id="1326">1326</a>
1328+
<a href="#1327" id="1327">1327</a>
1329+
<a href="#1328" id="1328">1328</a>
1330+
<a href="#1329" id="1329">1329</a>
13091331
</pre></div><pre class="rust"><code><span class="kw">use crate</span>::{
13101332
device::{queue::TempResource, Device},
13111333
global::Global,
@@ -1597,8 +1619,10 @@
15971619

15981620
<span class="kw">let </span>scratch_buffer_barrier = hal::BufferBarrier::&lt;<span class="kw">dyn </span>hal::DynBuffer&gt; {
15991621
buffer: scratch_buffer.raw(),
1600-
usage: BufferUses::ACCELERATION_STRUCTURE_SCRATCH
1601-
..BufferUses::ACCELERATION_STRUCTURE_SCRATCH,
1622+
usage: hal::StateTransition {
1623+
from: hal::BufferUses::ACCELERATION_STRUCTURE_SCRATCH,
1624+
to: hal::BufferUses::ACCELERATION_STRUCTURE_SCRATCH,
1625+
},
16021626
};
16031627

16041628
<span class="kw">let </span><span class="kw-2">mut </span>tlas_descriptors = Vec::new();
@@ -1651,8 +1675,10 @@
16511675

16521676
cmd_buf_raw.place_acceleration_structure_barrier(
16531677
hal::AccelerationStructureBarrier {
1654-
usage: hal::AccelerationStructureUses::BUILD_OUTPUT
1655-
..hal::AccelerationStructureUses::SHADER_INPUT,
1678+
usage: hal::StateTransition {
1679+
from: hal::AccelerationStructureUses::BUILD_OUTPUT,
1680+
to: hal::AccelerationStructureUses::SHADER_INPUT,
1681+
},
16561682
},
16571683
);
16581684
}
@@ -1937,8 +1963,10 @@
19371963

19381964
<span class="kw">let </span>scratch_buffer_barrier = hal::BufferBarrier::&lt;<span class="kw">dyn </span>hal::DynBuffer&gt; {
19391965
buffer: scratch_buffer.raw(),
1940-
usage: BufferUses::ACCELERATION_STRUCTURE_SCRATCH
1941-
..BufferUses::ACCELERATION_STRUCTURE_SCRATCH,
1966+
usage: hal::StateTransition {
1967+
from: BufferUses::ACCELERATION_STRUCTURE_SCRATCH,
1968+
to: BufferUses::ACCELERATION_STRUCTURE_SCRATCH,
1969+
},
19421970
};
19431971

19441972
<span class="kw">let </span><span class="kw-2">mut </span>tlas_descriptors = Vec::with_capacity(tlas_storage.len());
@@ -2011,7 +2039,10 @@
20112039
<span class="kw">if let </span><span class="prelude-val">Some</span>(<span class="kw-2">ref </span>staging_buffer) = staging_buffer {
20122040
cmd_buf_raw.transition_buffers(<span class="kw-2">&amp;</span>[hal::BufferBarrier::&lt;<span class="kw">dyn </span>hal::DynBuffer&gt; {
20132041
buffer: staging_buffer.raw(),
2014-
usage: BufferUses::MAP_WRITE..BufferUses::COPY_SRC,
2042+
usage: hal::StateTransition {
2043+
from: BufferUses::MAP_WRITE,
2044+
to: BufferUses::COPY_SRC,
2045+
},
20152046
}]);
20162047
}
20172048
}
@@ -2028,12 +2059,18 @@
20282059
};
20292060
instance_buffer_barriers.push(hal::BufferBarrier::&lt;<span class="kw">dyn </span>hal::DynBuffer&gt; {
20302061
buffer: tlas.instance_buffer.as_ref(),
2031-
usage: BufferUses::COPY_DST..BufferUses::TOP_LEVEL_ACCELERATION_STRUCTURE_INPUT,
2062+
usage: hal::StateTransition {
2063+
from: BufferUses::COPY_DST,
2064+
to: BufferUses::TOP_LEVEL_ACCELERATION_STRUCTURE_INPUT,
2065+
},
20322066
});
20332067
<span class="kw">unsafe </span>{
20342068
cmd_buf_raw.transition_buffers(<span class="kw-2">&amp;</span>[hal::BufferBarrier::&lt;<span class="kw">dyn </span>hal::DynBuffer&gt; {
20352069
buffer: tlas.instance_buffer.as_ref(),
2036-
usage: BufferUses::MAP_READ..BufferUses::COPY_DST,
2070+
usage: hal::StateTransition {
2071+
from: BufferUses::MAP_READ,
2072+
to: BufferUses::COPY_DST,
2073+
},
20372074
}]);
20382075
<span class="kw">let </span>temp = hal::BufferCopy {
20392076
src_offset: range.start <span class="kw">as </span>u64,
@@ -2057,8 +2094,10 @@
20572094

20582095
cmd_buf_raw.place_acceleration_structure_barrier(
20592096
hal::AccelerationStructureBarrier {
2060-
usage: hal::AccelerationStructureUses::BUILD_OUTPUT
2061-
..hal::AccelerationStructureUses::SHADER_INPUT,
2097+
usage: hal::StateTransition {
2098+
from: hal::AccelerationStructureUses::BUILD_OUTPUT,
2099+
to: hal::AccelerationStructureUses::SHADER_INPUT,
2100+
},
20622101
},
20632102
);
20642103
}
@@ -2583,8 +2622,10 @@
25832622
<span class="kw">if </span>blas_present {
25842623
<span class="kw">unsafe </span>{
25852624
cmd_buf_raw.place_acceleration_structure_barrier(hal::AccelerationStructureBarrier {
2586-
usage: hal::AccelerationStructureUses::BUILD_INPUT
2587-
..hal::AccelerationStructureUses::BUILD_OUTPUT,
2625+
usage: hal::StateTransition {
2626+
from: hal::AccelerationStructureUses::BUILD_INPUT,
2627+
to: hal::AccelerationStructureUses::BUILD_OUTPUT,
2628+
},
25882629
});
25892630

25902631
cmd_buf_raw.build_acceleration_structures(blas_descriptors);
@@ -2609,7 +2650,10 @@
26092650
}
26102651
<span class="kw">unsafe </span>{
26112652
cmd_buf_raw.place_acceleration_structure_barrier(hal::AccelerationStructureBarrier {
2612-
usage: source_usage..destination_usage,
2653+
usage: hal::StateTransition {
2654+
from: source_usage,
2655+
to: destination_usage,
2656+
},
26132657
});
26142658
}
26152659
}

doc/src/wgpu_core/device/queue.rs.html

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1582,6 +1582,18 @@
15821582
<a href="#1581" id="1581">1581</a>
15831583
<a href="#1582" id="1582">1582</a>
15841584
<a href="#1583" id="1583">1583</a>
1585+
<a href="#1584" id="1584">1584</a>
1586+
<a href="#1585" id="1585">1585</a>
1587+
<a href="#1586" id="1586">1586</a>
1588+
<a href="#1587" id="1587">1587</a>
1589+
<a href="#1588" id="1588">1588</a>
1590+
<a href="#1589" id="1589">1589</a>
1591+
<a href="#1590" id="1590">1590</a>
1592+
<a href="#1591" id="1591">1591</a>
1593+
<a href="#1592" id="1592">1592</a>
1594+
<a href="#1593" id="1593">1593</a>
1595+
<a href="#1594" id="1594">1594</a>
1596+
<a href="#1595" id="1595">1595</a>
15851597
</pre></div><pre class="rust"><code><span class="attr">#[cfg(feature = <span class="string">"trace"</span>)]
15861598
</span><span class="kw">use </span><span class="kw">crate</span>::device::trace::Action;
15871599
<span class="kw">use crate</span>::{
@@ -1658,7 +1670,10 @@
16581670
.command_encoder
16591671
.transition_buffers(<span class="kw-2">&amp;</span>[hal::BufferBarrier {
16601672
buffer: zero_buffer,
1661-
usage: hal::BufferUses::empty()..hal::BufferUses::COPY_DST,
1673+
usage: hal::StateTransition {
1674+
from: hal::BufferUses::empty(),
1675+
to: hal::BufferUses::COPY_DST,
1676+
},
16621677
}]);
16631678
pending_writes
16641679
.command_encoder
@@ -1667,7 +1682,10 @@
16671682
.command_encoder
16681683
.transition_buffers(<span class="kw-2">&amp;</span>[hal::BufferBarrier {
16691684
buffer: zero_buffer,
1670-
usage: hal::BufferUses::COPY_DST..hal::BufferUses::COPY_SRC,
1685+
usage: hal::StateTransition {
1686+
from: hal::BufferUses::COPY_DST,
1687+
to: hal::BufferUses::COPY_SRC,
1688+
},
16711689
}]);
16721690
}
16731691

@@ -2212,7 +2230,10 @@
22122230
};
22132231
<span class="kw">let </span>barriers = iter::once(hal::BufferBarrier {
22142232
buffer: staging_buffer.raw(),
2215-
usage: hal::BufferUses::MAP_WRITE..hal::BufferUses::COPY_SRC,
2233+
usage: hal::StateTransition {
2234+
from: hal::BufferUses::MAP_WRITE,
2235+
to: hal::BufferUses::COPY_SRC,
2236+
},
22162237
})
22172238
.chain(transition.map(|pending| pending.into_hal(<span class="kw-2">&amp;</span>buffer, <span class="kw-2">&amp;</span>snatch_guard)))
22182239
.collect::&lt;Vec&lt;<span class="kw">_</span>&gt;&gt;();
@@ -2431,7 +2452,10 @@
24312452
{
24322453
<span class="kw">let </span>buffer_barrier = hal::BufferBarrier {
24332454
buffer: staging_buffer.raw(),
2434-
usage: hal::BufferUses::MAP_WRITE..hal::BufferUses::COPY_SRC,
2455+
usage: hal::StateTransition {
2456+
from: hal::BufferUses::MAP_WRITE,
2457+
to: hal::BufferUses::COPY_SRC,
2458+
},
24352459
};
24362460

24372461
<span class="kw">let </span><span class="kw-2">mut </span>trackers = <span class="self">self</span>.device.trackers.lock();

doc/src/wgpu_core/resource.rs.html

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2051,6 +2051,12 @@
20512051
<a href="#2050" id="2050">2050</a>
20522052
<a href="#2051" id="2051">2051</a>
20532053
<a href="#2052" id="2052">2052</a>
2054+
<a href="#2053" id="2053">2053</a>
2055+
<a href="#2054" id="2054">2054</a>
2056+
<a href="#2055" id="2055">2055</a>
2057+
<a href="#2056" id="2056">2056</a>
2058+
<a href="#2057" id="2057">2057</a>
2059+
<a href="#2058" id="2058">2058</a>
20542060
</pre></div><pre class="rust"><code><span class="attr">#[cfg(feature = <span class="string">"trace"</span>)]
20552061
</span><span class="kw">use </span><span class="kw">crate</span>::device::trace;
20562062
<span class="kw">use crate</span>::{
@@ -2689,11 +2695,17 @@
26892695
});
26902696
<span class="kw">let </span>transition_src = hal::BufferBarrier {
26912697
buffer: staging_buffer.raw(),
2692-
usage: hal::BufferUses::MAP_WRITE..hal::BufferUses::COPY_SRC,
2698+
usage: hal::StateTransition {
2699+
from: hal::BufferUses::MAP_WRITE,
2700+
to: hal::BufferUses::COPY_SRC,
2701+
},
26932702
};
26942703
<span class="kw">let </span>transition_dst = hal::BufferBarrier::&lt;<span class="kw">dyn </span>hal::DynBuffer&gt; {
26952704
buffer: raw_buf,
2696-
usage: hal::BufferUses::empty()..hal::BufferUses::COPY_DST,
2705+
usage: hal::StateTransition {
2706+
from: hal::BufferUses::empty(),
2707+
to: hal::BufferUses::COPY_DST,
2708+
},
26972709
};
26982710
<span class="kw">let </span><span class="kw-2">mut </span>pending_writes = queue.pending_writes.lock();
26992711
<span class="kw">let </span>encoder = pending_writes.activate();

doc/src/wgpu_core/track/buffer.rs.html

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -769,6 +769,9 @@
769769
<a href="#768" id="768">768</a>
770770
<a href="#769" id="769">769</a>
771771
<a href="#770" id="770">770</a>
772+
<a href="#771" id="771">771</a>
773+
<a href="#772" id="772">772</a>
774+
<a href="#773" id="773">773</a>
772775
</pre></div><pre class="rust"><code><span class="doccomment">//! Buffer Trackers
773776
//!
774777
//! Buffers are represented by a single state for the whole resource,
@@ -1524,7 +1527,10 @@
15241527
barriers.push(PendingTransition {
15251528
id: index <span class="kw">as _</span>,
15261529
selector: (),
1527-
usage: current_state..new_state,
1530+
usage: hal::StateTransition {
1531+
from: current_state,
1532+
to: new_state,
1533+
},
15281534
});
15291535
}
15301536

doc/src/wgpu_core/track/mod.rs.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -925,7 +925,7 @@
925925
</span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">struct </span>PendingTransition&lt;S: ResourceUses&gt; {
926926
<span class="kw">pub </span>id: u32,
927927
<span class="kw">pub </span>selector: S::Selector,
928-
<span class="kw">pub </span>usage: ops::Range&lt;S&gt;,
928+
<span class="kw">pub </span>usage: hal::StateTransition&lt;S&gt;,
929929
}
930930

931931
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">type </span>PendingTransitionList = Vec&lt;PendingTransition&lt;hal::TextureUses&gt;&gt;;
@@ -952,8 +952,8 @@
952952
texture: <span class="kw-2">&amp;</span><span class="kw">dyn </span>hal::DynTexture,
953953
) -&gt; hal::TextureBarrier&lt;<span class="lifetime">'_</span>, <span class="kw">dyn </span>hal::DynTexture&gt; {
954954
<span class="comment">// These showing up in a barrier is always a bug
955-
</span><span class="macro">strict_assert_ne!</span>(<span class="self">self</span>.usage.start, hal::TextureUses::UNKNOWN);
956-
<span class="macro">strict_assert_ne!</span>(<span class="self">self</span>.usage.end, hal::TextureUses::UNKNOWN);
955+
</span><span class="macro">strict_assert_ne!</span>(<span class="self">self</span>.usage.from, hal::TextureUses::UNKNOWN);
956+
<span class="macro">strict_assert_ne!</span>(<span class="self">self</span>.usage.to, hal::TextureUses::UNKNOWN);
957957

958958
<span class="kw">let </span>mip_count = <span class="self">self</span>.selector.mips.end - <span class="self">self</span>.selector.mips.start;
959959
<span class="macro">strict_assert_ne!</span>(mip_count, <span class="number">0</span>);

doc/src/wgpu_core/track/texture.rs.html

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1528,6 +1528,18 @@
15281528
<a href="#1527" id="1527">1527</a>
15291529
<a href="#1528" id="1528">1528</a>
15301530
<a href="#1529" id="1529">1529</a>
1531+
<a href="#1530" id="1530">1530</a>
1532+
<a href="#1531" id="1531">1531</a>
1533+
<a href="#1532" id="1532">1532</a>
1534+
<a href="#1533" id="1533">1533</a>
1535+
<a href="#1534" id="1534">1534</a>
1536+
<a href="#1535" id="1535">1535</a>
1537+
<a href="#1536" id="1536">1536</a>
1538+
<a href="#1537" id="1537">1537</a>
1539+
<a href="#1538" id="1538">1538</a>
1540+
<a href="#1539" id="1539">1539</a>
1541+
<a href="#1540" id="1540">1540</a>
1542+
<a href="#1541" id="1541">1541</a>
15311543
</pre></div><pre class="rust"><code><span class="doccomment">//! Texture Trackers
15321544
//!
15331545
//! Texture trackers are significantly more complicated than
@@ -2834,7 +2846,10 @@
28342846
barriers.push(PendingTransition {
28352847
id: index <span class="kw">as _</span>,
28362848
selector: texture_selector.clone(),
2837-
usage: current_simple..new_simple,
2849+
usage: hal::StateTransition {
2850+
from: current_simple,
2851+
to: new_simple,
2852+
},
28382853
});
28392854
}
28402855
(SingleOrManyStates::Single(current_simple), SingleOrManyStates::Many(new_many)) =&gt; {
@@ -2850,7 +2865,10 @@
28502865
barriers.push(PendingTransition {
28512866
id: index <span class="kw">as _</span>,
28522867
selector,
2853-
usage: current_simple..new_state,
2868+
usage: hal::StateTransition {
2869+
from: current_simple,
2870+
to: new_state,
2871+
},
28542872
});
28552873
}
28562874
}
@@ -2873,7 +2891,10 @@
28732891
mips: mip_id..mip_id + <span class="number">1</span>,
28742892
layers: layers.clone(),
28752893
},
2876-
usage: current_layer_state..new_simple,
2894+
usage: hal::StateTransition {
2895+
from: current_layer_state,
2896+
to: new_simple,
2897+
},
28772898
});
28782899
}
28792900
}
@@ -2902,7 +2923,10 @@
29022923
mips: mip_id..mip_id + <span class="number">1</span>,
29032924
layers,
29042925
},
2905-
usage: <span class="kw-2">*</span>current_layer_state..new_state,
2926+
usage: hal::StateTransition {
2927+
from: <span class="kw-2">*</span>current_layer_state,
2928+
to: new_state,
2929+
},
29062930
});
29072931
}
29082932
}

0 commit comments

Comments
 (0)