|
3651 | 3651 | <span id="3649">3649</span>
|
3652 | 3652 | <span id="3650">3650</span>
|
3653 | 3653 | <span id="3651">3651</span>
|
| 3654 | +<span id="3652">3652</span> |
| 3655 | +<span id="3653">3653</span> |
| 3656 | +<span id="3654">3654</span> |
| 3657 | +<span id="3655">3655</span> |
| 3658 | +<span id="3656">3656</span> |
| 3659 | +<span id="3657">3657</span> |
| 3660 | +<span id="3658">3658</span> |
| 3661 | +<span id="3659">3659</span> |
| 3662 | +<span id="3660">3660</span> |
| 3663 | +<span id="3661">3661</span> |
| 3664 | +<span id="3662">3662</span> |
| 3665 | +<span id="3663">3663</span> |
| 3666 | +<span id="3664">3664</span> |
| 3667 | +<span id="3665">3665</span> |
| 3668 | +<span id="3666">3666</span> |
| 3669 | +<span id="3667">3667</span> |
3654 | 3670 | </pre><pre class="rust"><code><span class="doccomment">//! A cross-platform graphics and compute library based on [WebGPU](https://gpuweb.github.io/gpuweb/).</span>
|
3655 | 3671 | <span class="doccomment">//!</span>
|
3656 | 3672 | <span class="doccomment">//! To start using the API, create an [`Instance`].</span>
|
|
4312 | 4328 | <span class="ident">context</span>: <span class="ident">Arc</span><span class="op"><</span><span class="ident">C</span><span class="op">></span>,
|
4313 | 4329 | <span class="ident">id</span>: <span class="op"><</span><span class="ident">C</span> <span class="kw">as</span> <span class="ident">Context</span><span class="op">></span><span class="ident">::BufferId</span>,
|
4314 | 4330 | <span class="ident">map_context</span>: <span class="ident">Mutex</span><span class="op"><</span><span class="ident">MapContext</span><span class="op">></span>,
|
| 4331 | + <span class="ident">size</span>: <span class="ident">wgt::BufferAddress</span>, |
4315 | 4332 | <span class="ident">usage</span>: <span class="ident">BufferUsages</span>,
|
4316 | 4333 | }
|
4317 | 4334 |
|
|
5782 | 5799 | <span class="ident">context</span>: <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">context</span>),
|
5783 | 5800 | <span class="ident">id</span>: <span class="ident">Context::device_create_buffer</span>(<span class="kw-2">&</span><span class="kw-2">*</span><span class="self">self</span>.<span class="ident">context</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">id</span>, <span class="ident">desc</span>),
|
5784 | 5801 | <span class="ident">map_context</span>: <span class="ident">Mutex::new</span>(<span class="ident">map_context</span>),
|
| 5802 | + <span class="ident">size</span>: <span class="ident">desc</span>.<span class="ident">size</span>, |
5785 | 5803 | <span class="ident">usage</span>: <span class="ident">desc</span>.<span class="ident">usage</span>,
|
5786 | 5804 | }
|
5787 | 5805 | }
|
|
6079 | 6097 | <span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">destroy</span>(<span class="kw-2">&</span><span class="self">self</span>) {
|
6080 | 6098 | <span class="ident">Context::buffer_destroy</span>(<span class="kw-2">&</span><span class="kw-2">*</span><span class="self">self</span>.<span class="ident">context</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">id</span>);
|
6081 | 6099 | }
|
| 6100 | + |
| 6101 | + <span class="doccomment">/// Returns the length of the buffer allocation in bytes.</span> |
| 6102 | + <span class="doccomment">///</span> |
| 6103 | + <span class="doccomment">/// This is always equal to the `size` that was specified when creating the buffer.</span> |
| 6104 | + <span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">size</span>(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="ident">wgt::BufferAddress</span> { |
| 6105 | + <span class="self">self</span>.<span class="ident">size</span> |
| 6106 | + } |
| 6107 | + |
| 6108 | + <span class="doccomment">/// Returns the allowed usages for this `Buffer`.</span> |
| 6109 | + <span class="doccomment">///</span> |
| 6110 | + <span class="doccomment">/// This is always equal to the `usage` that was specified when creating the buffer.</span> |
| 6111 | + <span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">usage</span>(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="ident">BufferUsages</span> { |
| 6112 | + <span class="self">self</span>.<span class="ident">usage</span> |
| 6113 | + } |
6082 | 6114 | }
|
6083 | 6115 |
|
6084 | 6116 | <span class="kw">impl</span><span class="op"><</span><span class="lifetime">'a</span><span class="op">></span> <span class="ident">BufferSlice</span><span class="op"><</span><span class="lifetime">'a</span><span class="op">></span> {
|
|
0 commit comments