Go to the documentation of this file.
40 {0x70f2a88a, 0xf8be, 0x4901, {0x8f, 0x5, 0x2f, 0x72, 0xfa, 0x69, 0x5b, 0xa0}};
155 #if DILIGENT_CPP_INTERFACE
165 #define DILIGENT_INTERFACE_NAME IQuery
166 #include "../../../Primitives/interface/DefineInterfaceHelperMacros.h"
168 #define IQueryInclusiveMethods \
169 IDeviceObjectInclusiveMethods; \
179 #if DILIGENT_CPP_INTERFACE
214 #include "../../../Primitives/interface/UndefInterfaceHelperMacros.h"
216 #if DILIGENT_C_INTERFACE
220 # define IQuery_GetDesc(This) (const struct QueryDesc*)IDeviceObject_GetDesc(This)
222 # define IQuery_GetData(This, ...) CALL_IFACE_METHOD(Query, GetData, This, __VA_ARGS__)
223 # define IQuery_Invalidate(This) CALL_IFACE_METHOD(Query, Invalidate, This)
#define DILIGENT_END_INTERFACE
Definition: DefineInterfaceHelperMacros.h:88
struct INTERFACE_ID INTERFACE_ID
Definition: InterfaceID.h:54
#define VIRTUAL
Definition: DefineInterfaceHelperMacros.h:83
Binary occlusion query data. This structure is filled by IQuery::GetData() for Diligent::QUERY_TYPE_B...
Definition: Query.h:57
#define DILIGENT_BEGIN_INTERFACE(Name, Base)
Definition: CommonDefinitions.h:97
Query description.
Definition: Query.h:150
uint64_t Uint64
64-bit unsigned integer
Definition: BasicTypes.h:50
Timestamp query data. This structure is filled by IQuery::GetData() for Diligent::QUERY_TYPE_TIMESTAM...
Definition: Query.h:70
QueryDesc(QUERY_TYPE _Type) noexcept
Definition: Query.h:158
Base interface for all objects created by the render device Diligent::IRenderDevice.
Definition: DeviceObject.h:52
#define THIS
Definition: DefineInterfaceHelperMacros.h:81
Occlusion query data. This structure is filled by IQuery::GetData() for Diligent::QUERY_TYPE_OCCLUSIO...
Definition: Query.h:44
#define PURE
Definition: DefineInterfaceHelperMacros.h:85
@ QUERY_TYPE_BINARY_OCCLUSION
Acts like QUERY_TYPE_OCCLUSION except that it returns simply a binary true/false result: false indica...
Definition: GraphicsTypes.h:1458
Describes common device object attributes.
Definition: GraphicsTypes.h:1196
#define DILIGENT_END_NAMESPACE
Definition: CommonDefinitions.h:86
#define DILIGENT_DERIVE(TypeName)
Definition: CommonDefinitions.h:90
QueryDesc() noexcept
Definition: Query.h:156
const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE Type
Definition: PipelineStateD3D12Impl.cpp:69
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
#define DEFAULT_INITIALIZER(x)
Definition: CommonDefinitions.h:93
@ QUERY_TYPE_DURATION
Gets the number of high-frequency counter ticks between IDeviceContext::BeginQuery and IDeviceContext...
Definition: GraphicsTypes.h:1470
Duration query data. This structure is filled by IQuery::GetData() for Diligent::QUERY_TYPE_DURATION ...
Definition: Query.h:132
@ QUERY_TYPE_UNDEFINED
Query type is undefined.
Definition: GraphicsTypes.h:1449
@ QUERY_TYPE_OCCLUSION
Gets the number of samples that passed the depth and stencil tests in between IDeviceContext::BeginQu...
Definition: GraphicsTypes.h:1453
Pipeline statistics query data. This structure is filled by IQuery::GetData() for Diligent::QUERY_TYP...
Definition: Query.h:88
#define METHOD(Name)
Definition: DefineInterfaceHelperMacros.h:87
#define DEFAULT_VALUE(x)
Definition: CommonDefinitions.h:99
QUERY_TYPE
Query type.
Definition: GraphicsTypes.h:1446
Query interface.
Definition: Query.h:177
#define DILIGENT_BEGIN_NAMESPACE(Name)
Definition: CommonDefinitions.h:82
Uint32 NumSamples
Definition: DXBCUtils.cpp:82
@ QUERY_TYPE_TIMESTAMP
Gets the GPU timestamp corresponding to IDeviceContext::EndQuery call. Fot this query type IDeviceCon...
Definition: GraphicsTypes.h:1462
@ QUERY_TYPE_PIPELINE_STATISTICS
Gets pipeline statistics, such as the number of pixel shader invocations in between IDeviceContext::B...
Definition: GraphicsTypes.h:1466
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
#define THIS_
Definition: DefineInterfaceHelperMacros.h:82