7#ifndef PXR_IMAGING_HGIGL_OPS_H
8#define PXR_IMAGING_HGIGL_OPS_H
13#include "pxr/imaging/hgi/buffer.h"
14#include "pxr/imaging/hgi/blitCmdsOps.h"
15#include "pxr/imaging/hgi/graphicsCmdsDesc.h"
16#include "pxr/imaging/hgi/graphicsPipeline.h"
17#include "pxr/imaging/hgi/resourceBindings.h"
19#include "pxr/imaging/hgiGL/api.h"
20#include "pxr/imaging/hgiGL/device.h"
26PXR_NAMESPACE_OPEN_SCOPE
28using HgiGLOpsFn = std::function<void(
void)>;
57 static HgiGLOpsFn PushDebugGroup(
const char* label);
60 static HgiGLOpsFn PopDebugGroup();
84 static HgiGLOpsFn ResolveFramebuffer(
89 static HgiGLOpsFn SetViewport(
GfVec4i const& vp);
92 static HgiGLOpsFn SetScissor(
GfVec4i const& sc);
104 static HgiGLOpsFn SetConstantValues(
106 HgiShaderStage stages,
112 static HgiGLOpsFn SetConstantValues(
119 static HgiGLOpsFn BindVertexBuffers(
120 HgiVertexBufferBindingVector
const &bindings);
123 static HgiGLOpsFn Draw(
124 HgiPrimitiveType primitiveType,
125 uint32_t primitiveIndexSize,
126 uint32_t vertexCount,
128 uint32_t instanceCount,
129 uint32_t baseInstance);
132 static HgiGLOpsFn DrawIndirect(
133 HgiPrimitiveType primitiveType,
134 uint32_t primitiveIndexSize,
136 uint32_t drawBufferByteOffset,
141 static HgiGLOpsFn DrawIndexed(
142 HgiPrimitiveType primitiveType,
143 uint32_t primitiveIndexSize,
146 uint32_t indexBufferByteOffset,
148 uint32_t instanceCount,
149 uint32_t baseInstance);
152 static HgiGLOpsFn DrawIndexedIndirect(
153 HgiPrimitiveType primitiveType,
154 uint32_t primitiveIndexSize,
157 uint32_t drawBufferByteOffset,
162 static HgiGLOpsFn BindFramebufferOp(
167 static HgiGLOpsFn Dispatch(
int dimX,
int dimY);
170 static HgiGLOpsFn FillBuffer(
HgiBufferHandle const& buffer, uint8_t value);
176 static HgiGLOpsFn InsertMemoryBarrier(HgiMemoryBarrier barrier);
180PXR_NAMESPACE_CLOSE_SCOPE
Basic type for a vector of 4 int components.
OpenGL implementation of GPU device.
A collection of functions used by cmds objects to do deferred cmd recording.
Describes the properties needed to copy buffer data from CPU to GPU.
Describes the properties needed to copy buffer data from GPU to CPU.
Describes the properties needed to copy buffer data from GPU to GPU.
Describes the properties needed to copy GPU buffer data into a GPU texture.
Describes the properties to begin a HgiGraphicsCmds.
Describes the properties needed to copy texture data from CPU to GPU.
Describes the properties needed to copy texture data from GPU to CPU.
Describes the properties needed to copy GPU texture data into a GPU buffer.