Loading...
Searching...
No Matches
blitCmdsOps.h
1//
2// Copyright 2019 Pixar
3//
4// Licensed under the Apache License, Version 2.0 (the "Apache License")
5// with the following modification; you may not use this file except in
6// compliance with the Apache License and the following modification to it:
7// Section 6. Trademarks. is deleted and replaced with:
8//
9// 6. Trademarks. This License does not grant permission to use the trade
10// names, trademarks, service marks, or product names of the Licensor
11// and its affiliates, except as required to comply with Section 4(c) of
12// the License and to reproduce the content of the NOTICE file.
13//
14// You may obtain a copy of the Apache License at
15//
16// http://www.apache.org/licenses/LICENSE-2.0
17//
18// Unless required by applicable law or agreed to in writing, software
19// distributed under the Apache License with the above modification is
20// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21// KIND, either express or implied. See the Apache License for the specific
22// language governing permissions and limitations under the Apache License.
23//
24#ifndef PXR_IMAGING_HGI_BLIT_CMDS_OPS_H
25#define PXR_IMAGING_HGI_BLIT_CMDS_OPS_H
26
27#include "pxr/pxr.h"
28#include "pxr/base/gf/vec3i.h"
29#include "pxr/imaging/hgi/api.h"
30#include "pxr/imaging/hgi/buffer.h"
31#include "pxr/imaging/hgi/enums.h"
32#include "pxr/imaging/hgi/texture.h"
33#include "pxr/imaging/hgi/types.h"
34
35#include <stddef.h>
36
37PXR_NAMESPACE_OPEN_SCOPE
38
39
68{
70 : gpuSourceTexture()
71 , sourceTexelOffset(GfVec3i(0))
72 , mipLevel(0)
73 , cpuDestinationBuffer(nullptr)
74 , destinationByteOffset(0)
75 , destinationBufferByteSize(0)
76 {}
77
78 HgiTextureHandle gpuSourceTexture;
79 GfVec3i sourceTexelOffset;
80 uint32_t mipLevel;
81 void* cpuDestinationBuffer;
82 size_t destinationByteOffset;
83 size_t destinationBufferByteSize;
84};
85
111{
113 : cpuSourceBuffer(nullptr)
114 , bufferByteSize(0)
115 , destinationTexelOffset(GfVec3i(0))
116 , mipLevel(0)
117 , gpuDestinationTexture()
118 {}
119
120 void const* cpuSourceBuffer;
121 size_t bufferByteSize;
122 GfVec3i destinationTexelOffset;
123 uint32_t mipLevel;
124 HgiTextureHandle gpuDestinationTexture;
125};
126
151{
153 : gpuSourceBuffer()
154 , sourceByteOffset(0)
155 , byteSize(0)
156 , gpuDestinationBuffer()
157 , destinationByteOffset(0)
158 {}
159
160 HgiBufferHandle gpuSourceBuffer;
161 size_t sourceByteOffset;
162 size_t byteSize;
163 HgiBufferHandle gpuDestinationBuffer;
164 size_t destinationByteOffset;
165};
166
167
191{
193 : cpuSourceBuffer(nullptr)
194 , sourceByteOffset(0)
195 , gpuDestinationBuffer()
196 , destinationByteOffset(0)
197 , byteSize(0)
198 {}
199
200 void const* cpuSourceBuffer;
201 size_t sourceByteOffset;
202 HgiBufferHandle gpuDestinationBuffer;
203 size_t destinationByteOffset;
204 size_t byteSize;
205};
206
231{
233 : gpuSourceBuffer()
234 , sourceByteOffset(0)
235 , byteSize(0)
236 , cpuDestinationBuffer()
237 , destinationByteOffset(0)
238 {}
239
240 HgiBufferHandle gpuSourceBuffer;
241 size_t sourceByteOffset;
242 size_t byteSize;
243 void* cpuDestinationBuffer;
244 size_t destinationByteOffset;
245};
246
271{
273 : gpuSourceTexture()
274 , sourceTexelOffset(GfVec3i(0))
275 , mipLevel(0)
276 , gpuDestinationBuffer()
277 , destinationByteOffset(0)
278 , byteSize(0)
279 {}
280
281 HgiTextureHandle gpuSourceTexture;
282 GfVec3i sourceTexelOffset;
283 uint32_t mipLevel;
284 HgiBufferHandle gpuDestinationBuffer;
285 size_t destinationByteOffset;
286 size_t byteSize;
287};
288
315{
317 : gpuSourceBuffer()
318 , sourceByteOffset(0)
319 , gpuDestinationTexture()
320 , destinationTexelOffset(GfVec3i(0))
321 , mipLevel(0)
322 , byteSize(0)
323 {}
324
325 HgiBufferHandle gpuSourceBuffer;
326 size_t sourceByteOffset;
327 HgiTextureHandle gpuDestinationTexture;
328 GfVec3i destinationTexelOffset;
329 uint32_t mipLevel;
330 size_t byteSize;
331
332};
333
334PXR_NAMESPACE_CLOSE_SCOPE
335
336#endif
Basic type for a vector of 3 int components.
Definition: vec3i.h:61
Describes the properties needed to copy buffer data from CPU to GPU.
Definition: blitCmdsOps.h:191
Describes the properties needed to copy buffer data from GPU to CPU.
Definition: blitCmdsOps.h:231
Describes the properties needed to copy buffer data from GPU to GPU.
Definition: blitCmdsOps.h:151
Describes the properties needed to copy GPU buffer data into a GPU texture.
Definition: blitCmdsOps.h:315
Describes the properties needed to copy texture data from CPU to GPU.
Definition: blitCmdsOps.h:111
Describes the properties needed to copy texture data from GPU to CPU.
Definition: blitCmdsOps.h:68
Describes the properties needed to copy GPU texture data into a GPU buffer.
Definition: blitCmdsOps.h:271