HDK
|
#include "pxr/pxr.h"
#include "pxr/base/vt/dictionary.h"
#include "pxr/imaging/hdSt/api.h"
#include "pxr/imaging/hdSt/bufferArrayRegistry.h"
#include "pxr/imaging/hgi/hgi.h"
#include "pxr/imaging/hd/bufferArrayRange.h"
#include "pxr/imaging/hd/bufferSource.h"
#include "pxr/imaging/hd/bufferSpec.h"
#include "pxr/imaging/hd/enums.h"
#include "pxr/imaging/hd/instanceRegistry.h"
#include "pxr/imaging/hd/resourceRegistry.h"
#include <tbb/concurrent_vector.h>
#include <atomic>
#include <map>
#include <memory>
Go to the source code of this file.
Classes | |
class | HdStResourceRegistry |
Enumerations | |
enum | HdStComputeQueue { HdStComputeQueueZero =0, HdStComputeQueueOne, HdStComputeQueueTwo, HdStComputeQueueThree, HdStComputeQueueCount } |
using HdSt_BasisCurvesTopologySharedPtr = std::shared_ptr<class HdSt_BasisCurvesTopology> |
Definition at line 63 of file resourceRegistry.h.
using HdSt_GeometricShaderSharedPtr = std::shared_ptr<class HdSt_GeometricShader> |
Definition at line 68 of file resourceRegistry.h.
using HdSt_MeshTopologySharedPtr = std::shared_ptr<class HdSt_MeshTopology> |
Definition at line 81 of file resourceRegistry.h.
using HdSt_VertexAdjacencyBuilderSharedPtr = std::shared_ptr<class HdSt_VertexAdjacencyBuilder> |
Definition at line 79 of file resourceRegistry.h.
using HdStBufferResourceSharedPtr = std::shared_ptr<class HdStBufferResource> |
Definition at line 75 of file resourceRegistry.h.
using HdStComputationComputeQueuePairVector = std::vector<std::pair<HdStComputationSharedPtr, HdStComputeQueue>> |
Definition at line 114 of file resourceRegistry.h.
using HdStComputationSharedPtr = std::shared_ptr<class HdStComputation> |
Definition at line 57 of file resourceRegistry.h.
using HdStDispatchBufferSharedPtr = std::shared_ptr<class HdStDispatchBuffer> |
Definition at line 58 of file resourceRegistry.h.
using HdStGLSLProgramSharedPtr = std::shared_ptr<class HdStGLSLProgram> |
Definition at line 59 of file resourceRegistry.h.
using HdStResourceRegistrySharedPtr = std::shared_ptr<class HdStResourceRegistry> |
Definition at line 77 of file resourceRegistry.h.
using HdStShaderCodePtr = std::weak_ptr<class HdStShaderCode> |
Definition at line 66 of file resourceRegistry.h.
using HdStTextureHandleSharedPtr = std::shared_ptr<class HdStTextureHandle> |
Definition at line 71 of file resourceRegistry.h.
using HdStTextureObjectSharedPtr = std::shared_ptr<class HdStTextureObject> |
Definition at line 73 of file resourceRegistry.h.
using HgiComputePipelineSharedPtr = std::shared_ptr<HgiComputePipelineHandle> |
Definition at line 87 of file resourceRegistry.h.
using HgiGraphicsPipelineSharedPtr = std::shared_ptr<HgiGraphicsPipelineHandle> |
Definition at line 85 of file resourceRegistry.h.
using HgiResourceBindingsSharedPtr = std::shared_ptr<HgiResourceBindingsHandle> |
Definition at line 83 of file resourceRegistry.h.
using HioGlslfxSharedPtr = std::shared_ptr<class HioGlslfx> |
Definition at line 60 of file resourceRegistry.h.
enum HdStComputeQueue |
Determines the 'compute queue' a computation should be added into.
We only perform synchronization between queues, not within one queue. In OpenGL terms that means we insert memory barriers between computations of two queues, but not between two computations in the same queue.
A prim determines the role for each queue based on its local knowledge of compute dependencies. Eg. HdStMesh knows computing normals should wait until the primvar refinement computation has fnished. It can assign one queue to primvar refinement and a following queue for normal computations.
Enumerator | |
---|---|
HdStComputeQueueZero | |
HdStComputeQueueOne | |
HdStComputeQueueTwo | |
HdStComputeQueueThree | |
HdStComputeQueueCount |
Definition at line 106 of file resourceRegistry.h.