Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#include <qrhid3d11_p.h>
Classes | |
struct | BufferReadback |
struct | BytecodeCacheKey |
struct | OffscreenFrame |
struct | Shader |
struct | TextureReadback |
Additional Inherited Members | |
Static Public Member Functions inherited from QRhiImplementation | |
static const QRhiShaderResourceBinding::Data * | shaderResourceBindingData (const QRhiShaderResourceBinding &binding) |
static QRhiShaderResourceBinding::Data * | shaderResourceBindingData (QRhiShaderResourceBinding &binding) |
static bool | sortedBindingLessThan (const QRhiShaderResourceBinding &a, const QRhiShaderResourceBinding &b) |
Static Public Attributes inherited from QRhiImplementation | |
static const int | MAX_SHADER_CACHE_ENTRIES = 128 |
Definition at line 630 of file qrhid3d11_p.h.
QRhiD3D11::QRhiD3D11 | ( | QRhiD3D11InitParams * | params, |
QRhiD3D11NativeHandles * | importDevice = nullptr ) |
Definition at line 152 of file qrhid3d11.cpp.
References adapterLuid, context, debugLayer, dev, featureLevel, importedDeviceAndContext, and qWarning.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2160 of file qrhid3d11.cpp.
References cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::ComputePass, enqueueResourceUpdates(), QD3D11CommandBuffer::NoPass, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, QD3D11CommandBuffer::resetCachedState(), and QD3D11CommandBuffer::Command::ResetShaderResources.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1297 of file qrhid3d11.cpp.
References cb, executeCommandBuffer(), QRHI_RES, and QD3D11CommandBuffer::resetCommands().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1335 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::BeginFrame, QD3D11CommandBuffer::Command::cmd, context, contextState, QRhiImplementation::currentFrameSlot, finishActiveReadbacks(), QRhi::FrameOpSuccess, Q_UNUSED, QRHI_RES, and rtData().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1435 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::BeginFrame, cb, QD3D11CommandBuffer::Command::cmd, dev, QRhi::EnableTimestamps, QRhi::FrameOpError, QRhi::FrameOpSuccess, i, ofr, Q_UNUSED, qPrintable, qWarning, and rhiFlags.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2038 of file qrhid3d11.cpp.
References cb, QD3D11CommandBuffer::Command::Clear, QD3D11CommandBuffer::Command::Color, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentTarget, QD3D11CommandBuffer::Command::Depth, enqueueResourceUpdates(), QD3D11CommandBuffer::NoPass, QRhiTextureRenderTarget::PreserveColorContents, QRhiTextureRenderTarget::PreserveDepthStencilContents, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, QD3D11CommandBuffer::RenderPass, QD3D11CommandBuffer::resetCachedState(), QD3D11CommandBuffer::Command::ResetShaderResources, QRhiResource::resourceType(), rtData(), QD3D11CommandBuffer::Command::SetRenderTarget, QD3D11CommandBuffer::Command::Stencil, and QRhiResource::TextureRenderTarget.
void QRhiD3D11::bindShaderResources | ( | QD3D11ShaderResourceBindings * | srbD, |
const uint * | dynOfsPairs, | ||
int | dynOfsPairCount, | ||
bool | offsetOnlyChange ) |
Definition at line 2632 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::MAX_DYNAMIC_OFFSET_COUNT, SETSAMPLERBATCH, SETUAVBATCH, and SETUBUFBATCH.
Referenced by executeCommandBuffer().
void QRhiD3D11::clearShaderCache | ( | ) |
Definition at line 397 of file qrhid3d11.cpp.
References m_shaderCache.
Referenced by destroy(), and releaseCachedResources().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 516 of file qrhid3d11.cpp.
QByteArray QRhiD3D11::compileHlslShaderSource | ( | const QShader & | shader, |
QShader::Variant | shaderVariant, | ||
uint | flags, | ||
QString * | error, | ||
QShaderKey * | usedShaderKey ) |
Definition at line 4384 of file qrhid3d11.cpp.
References cacheKey(), QShader::ComputeStage, QShader::DxbcShader, QRhi::EnablePipelineCacheDataSave, error, QShader::FragmentStage, QString::fromUtf8(), QShader::GeometryStage, QShader::HlslShader, m_bytecodeCache, QByteArray(), qWarning, QRhiD3D::resolveD3DCompile(), rhiFlags, QShaderCode::shader(), sourceHash(), QShader::TessellationControlStage, QShader::TessellationEvaluationStage, and QShader::VertexStage.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 193 of file qrhid3d11.cpp.
References activeAdapter, adapterLuid, annotations, context, createDXGIFactory2(), debugLayer, dev, deviceLost, driverInfoStruct, DXGI_ADAPTER_FLAG_SOFTWARE, dxgiFactory, featureLevel, QRhiD3D::fillDriverInfo(), QString::fromUtf16(), importedDeviceAndContext, nativeHandlesStruct, QRhi::PreferSoftwareRenderer, Q_ASSERT, qCDebug, qEnvironmentVariableIntValue(), qEnvironmentVariableIsSet(), qPrintable, qWarning, rhiFlags, supportsAllowTearing, QRhi::SuppressSmokeTestWarnings, and useLegacySwapchainModel.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 491 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 898 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 893 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 866 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 880 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 903 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 486 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 873 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 887 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1259 of file qrhid3d11.cpp.
References annotations, QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::Command::DebugMarkBegin, QRhiImplementation::debugMarkers, QRHI_RES, and qstrncpy().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1270 of file qrhid3d11.cpp.
References annotations, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::Command::DebugMarkEnd, QRhiImplementation::debugMarkers, and QRHI_RES.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1280 of file qrhid3d11.cpp.
References annotations, QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QByteArray::constData(), QRhiImplementation::debugMarkers, QD3D11CommandBuffer::Command::DebugMarkMsg, QRHI_RES, and qstrncpy().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 405 of file qrhid3d11.cpp.
References activeAdapter, annotations, clearShaderCache(), context, dcompDevice, dev, dxgiFactory, finishActiveReadbacks(), i, importedDeviceAndContext, and ofr.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2207 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::ComputePass, QD3D11CommandBuffer::Command::Dispatch, Q_ASSERT, QRHI_RES, and QD3D11CommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1228 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentGraphicsPipeline, QD3D11CommandBuffer::Command::Draw, instanceCount, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, and QD3D11CommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1243 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentGraphicsPipeline, QD3D11CommandBuffer::Command::DrawIndexed, instanceCount, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, and QD3D11CommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 682 of file qrhid3d11.cpp.
References driverInfoStruct.
DXGI_SAMPLE_DESC QRhiD3D11::effectiveSampleDesc | ( | int | sampleCount | ) | const |
Definition at line 469 of file qrhid3d11.cpp.
References QRhiImplementation::effectiveSampleCount().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2178 of file qrhid3d11.cpp.
References cb, QD3D11CommandBuffer::ComputePass, enqueueResourceUpdates(), QD3D11CommandBuffer::NoPass, Q_ASSERT, QRHI_RES, and QD3D11CommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1304 of file qrhid3d11.cpp.
References cb, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentTarget, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::resetCachedState(), and QD3D11CommandBuffer::Command::SetRenderTarget.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1370 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, QD3D11SwapChain::BUFFER_COUNT, QD3D11CommandBuffer::Command::cmd, context, contextState, QRhiImplementation::currentFrameSlot, dcompDevice, deviceLost, QD3D11CommandBuffer::Command::EndFrame, executeCommandBuffer(), QRhi::FrameOpDeviceLost, QRhi::FrameOpError, QRhi::FrameOpSuccess, Q_ASSERT, qPrintable, QRHI_RES, qWarning, QRhi::SkipPresent, and QD3D11SwapChainTimestamps::TIMESTAMP_PAIRS.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1476 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::cmd, context, QD3D11CommandBuffer::Command::EndFrame, executeCommandBuffer(), finishActiveReadbacks(), QRhi::FrameOpSuccess, ofr, ok, and Q_UNUSED.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2090 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentTarget, enqueueResourceUpdates(), it, QRhiColorAttachment::layer(), QD3D11CommandBuffer::NoPass, Q_ASSERT, QRHI_RES, qWarning, QD3D11CommandBuffer::recordingPass, QRhiColorAttachment::renderBuffer(), QD3D11CommandBuffer::RenderPass, QRhiColorAttachment::resolveLayer(), QRhiColorAttachment::resolveLevel(), QD3D11CommandBuffer::Command::ResolveSubRes, QRhiColorAttachment::resolveTexture(), QRhiResource::resourceType(), QRhiColorAttachment::texture(), and QRhiResource::TextureRenderTarget.
void QRhiD3D11::enqueueResourceUpdates | ( | QRhiCommandBuffer * | cb, |
QRhiResourceUpdateBatch * | resourceUpdates ) |
Definition at line 1746 of file qrhid3d11.cpp.
References activeBufferReadbacks, activeTextureReadbacks, QD3D11CommandBuffer::Command::args, QRhiResourceUpdateBatchPrivate::BufferOp::buf, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QRhiReadbackResult::completed, QRhiBufferData::constData(), contextState, QRhiResourceUpdateBatchPrivate::TextureOp::Copy, QD3D11CommandBuffer::Command::CopySubRes, QVarLengthArray< T, Prealloc >::count(), QByteArray::data(), QRhiReadbackResult::data, QRhiResourceUpdateBatchPrivate::BufferOp::data, QRhiResourceUpdateBatchPrivate::TextureOp::desc, QRhiD3D11::TextureReadback::desc, QRhiTextureCopyDescription::destinationLayer(), QRhiTextureCopyDescription::destinationLevel(), QRhiTextureCopyDescription::destinationTopLeft(), dev, QRhiResourceUpdateBatchPrivate::TextureOp::dst, QRhiBuffer::Dynamic, QRhiResourceUpdateBatchPrivate::BufferOp::DynamicUpdate, enqueueSubresUpload(), QRhiTexture::flags(), QD3D11CommandBuffer::Command::GenMip, QRhiResourceUpdateBatchPrivate::TextureOp::GenMips, QRhiResourceUpdateBatchPrivate::get(), QSize::height(), QSize::isEmpty(), QRhiReadbackDescription::layer(), QRhiReadbackDescription::level(), QRhi::MAX_MIP_LEVELS, QRhiResourceUpdateBatchPrivate::BufferOp::offset, QRhiTextureCopyDescription::pixelSize(), Q_ASSERT, qPrintable, QRHI_RES, qWarning, QRhiResourceUpdateBatchPrivate::TextureOp::rb, QRhiResourceUpdateBatchPrivate::BufferOp::Read, QRhiResourceUpdateBatchPrivate::TextureOp::Read, QRhiResourceUpdateBatchPrivate::BufferOp::readSize, QByteArray::resize(), QD3D11CommandBuffer::Command::ResolveSubRes, QRhiResourceUpdateBatchPrivate::BufferOp::result, QRhiResourceUpdateBatchPrivate::TextureOp::result, QRhiD3D11::BufferReadback::result, QD3D11CommandBuffer::retainBufferData(), QRhiBufferData::size(), QRhiTextureCopyDescription::sourceLayer(), QRhiTextureCopyDescription::sourceLevel(), QRhiTextureCopyDescription::sourceTopLeft(), sp, QRhiResourceUpdateBatchPrivate::TextureOp::src, QRhiResourceUpdateBatchPrivate::BufferOp::StaticUpload, QRhiResourceUpdateBatchPrivate::TextureOp::subresDesc, swapchainReadbackTextureFormat(), QRhiReadbackDescription::texture(), QRhiImplementation::textureFormatInfo(), QRhiTexture::ThreeDimensional, QRhiResourceUpdateBatchPrivate::BufferOp::type, QRhiResourceUpdateBatchPrivate::TextureOp::type, QRhiTexture::UnknownFormat, QD3D11CommandBuffer::Command::UpdateSubRes, QRhiResourceUpdateBatchPrivate::TextureOp::Upload, QRhiTexture::UsedWithGenerateMips, and QSize::width().
Referenced by beginComputePass(), beginPass(), endComputePass(), endPass(), and resourceUpdate().
void QRhiD3D11::enqueueSubresUpload | ( | QD3D11Texture * | texD, |
QD3D11CommandBuffer * | cbD, | ||
int | layer, | ||
int | level, | ||
const QRhiTextureSubresourceUploadDescription & | subresDesc ) |
Definition at line 1666 of file qrhid3d11.cpp.
References aligned(), QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QRhiImplementation::compressedFormatInfo(), QRhiTextureSubresourceUploadDescription::data(), QRhiTextureSubresourceUploadDescription::dataStride(), QRhiTextureSubresourceUploadDescription::destinationTopLeft(), QRhiTextureSubresourceUploadDescription::image(), QRhiImplementation::isCompressedFormat(), QByteArray::isEmpty(), QSize::isEmpty(), QImage::isNull(), QPoint::isNull(), qWarning, QD3D11CommandBuffer::retainData(), QD3D11CommandBuffer::retainImage(), QRhiTextureSubresourceUploadDescription::sourceSize(), QRhiTextureSubresourceUploadDescription::sourceTopLeft(), sp, QRhiImplementation::textureFormatInfo(), QRhiTexture::ThreeDimensional, and QD3D11CommandBuffer::Command::UpdateSubRes.
Referenced by enqueueResourceUpdates().
bool QRhiD3D11::ensureDirectCompositionDevice | ( | ) |
Definition at line 5064 of file qrhid3d11.cpp.
References QRhiD3D::createDirectCompositionDevice(), dcompDevice, and qCDebug.
void QRhiD3D11::executeBufferHostWrites | ( | QD3D11Buffer * | bufD | ) |
Definition at line 2516 of file qrhid3d11.cpp.
References context, QRhiBuffer::Dynamic, Q_ASSERT, qPrintable, and qWarning.
Referenced by setShaderResources(), and setVertexInput().
void QRhiD3D11::executeCommandBuffer | ( | QD3D11CommandBuffer * | cbD | ) |
Definition at line 2738 of file qrhid3d11.cpp.
References annotations, QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::BeginFrame, QD3D11CommandBuffer::Command::BindComputePipeline, QD3D11CommandBuffer::Command::BindGraphicsPipeline, QD3D11CommandBuffer::Command::BindIndexBuffer, QD3D11CommandBuffer::Command::BindShaderResources, bindShaderResources(), QD3D11CommandBuffer::Command::BindVertexBuffers, QD3D11CommandBuffer::Command::BlendConstants, QD3D11CommandBuffer::Command::Clear, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::Command::Color, QD3D11CommandBuffer::commands, context, contextState, QD3D11CommandBuffer::Command::CopySubRes, QD3D11CommandBuffer::Command::DebugMarkBegin, QD3D11CommandBuffer::Command::DebugMarkEnd, QD3D11CommandBuffer::Command::DebugMarkMsg, QD3D11CommandBuffer::Command::Depth, QD3D11CommandBuffer::Command::Dispatch, QD3D11CommandBuffer::Command::Draw, QD3D11CommandBuffer::Command::DrawIndexed, QD3D11CommandBuffer::Command::EndFrame, QString::fromLatin1(), QD3D11CommandBuffer::Command::GenMip, i, it, qWarning, QD3D11CommandBuffer::Command::ResetShaderResources, resetShaderResources(), QD3D11CommandBuffer::Command::ResolveSubRes, rtData(), QD3D11CommandBuffer::Command::Scissor, QD3D11CommandBuffer::Command::SetRenderTarget, SETSHADER, QD3D11CommandBuffer::Command::Stencil, QD3D11CommandBuffer::Command::StencilRef, QD3D11CommandBuffer::Command::UpdateSubRes, and QD3D11CommandBuffer::Command::Viewport.
Referenced by beginExternal(), endFrame(), endOffscreenFrame(), and finish().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1645 of file qrhid3d11.cpp.
References contextState, executeCommandBuffer(), finishActiveReadbacks(), QRhi::FrameOpSuccess, QRhiImplementation::inFrame, QD3D11CommandBuffer::NoPass, ofr, and Q_ASSERT.
void QRhiD3D11::finishActiveReadbacks | ( | ) |
Definition at line 1969 of file qrhid3d11.cpp.
References activeBufferReadbacks, activeTextureReadbacks, context, i, qPrintable, qWarning, and void.
Referenced by beginFrame(), destroy(), endOffscreenFrame(), and finish().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 511 of file qrhid3d11.cpp.
|
overridevirtual |
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 541 of file qrhid3d11.cpp.
References annotations, QRhi::BaseInstance, QRhi::BaseVertex, QRhi::Compute, QRhi::CustomInstanceStepRate, QRhi::DebugMarkers, QRhi::ElementIndexUint, QRhi::GeometryShader, QRhi::HalfAttributes, QRhi::ImageDataStride, QRhi::Instancing, QRhi::IntAttributes, QRhi::MultisampleRenderBuffer, QRhi::MultisampleTexture, QRhi::MultiView, QRhi::NonDynamicUniformBuffers, QRhi::NonFillPolygonMode, QRhi::NonFourAlignedEffectiveIndexBufferOffset, QRhi::NPOTTextureRepeat, QRhi::OneDimensionalTextureMipmaps, QRhi::OneDimensionalTextures, QRhi::PipelineCacheDataLoadSave, QRhi::PrimitiveRestart, QRhi::ReadBackAnyTextureFormat, QRhi::ReadBackNonBaseMipLevel, QRhi::ReadBackNonUniformBuffer, QRhi::RedOrAlpha8IsRed, QRhi::RenderBufferImport, QRhi::RenderTo3DTextureSlice, QRhi::RenderToNonBaseMipLevel, QRhi::RenderToOneDimensionalTexture, QRhi::ResolveDepthStencil, QRhi::ScreenSpaceDerivatives, QRhi::Tessellation, QRhi::TexelFetch, QRhi::TextureArrayRange, QRhi::TextureArrays, QRhi::TextureViewFormat, QRhi::ThreeDimensionalTextureMipmaps, QRhi::ThreeDimensionalTextures, QRhi::Timestamps, QRhi::TriangleFanTopology, QRhi::VertexShaderPointSize, and QRhi::WideLines.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 531 of file qrhid3d11.cpp.
References QRhiTexture::ASTC_12x12, QRhiTexture::ETC2_RGB8, and Q_UNUSED.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 501 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 506 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1316 of file qrhid3d11.cpp.
References cb, QD3D11CommandBuffer::lastGpuTime, and QRHI_RES.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 694 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 677 of file qrhid3d11.cpp.
References nativeHandlesStruct.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1291 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 720 of file qrhid3d11.cpp.
References QByteArray::constData(), header(), i, it, m_bytecodeCache, QRhiImplementation::pipelineCacheRhiId(), Q_ASSERT, QSet< T >::size(), QByteArray::size(), and Qt::Uninitialized.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 700 of file qrhid3d11.cpp.
References clearShaderCache(), and m_bytecodeCache.
void QRhiD3D11::reportLiveObjects | ( | ID3D11Device * | device | ) |
Definition at line 454 of file qrhid3d11.cpp.
void QRhiD3D11::resetShaderResources | ( | ) |
Definition at line 2657 of file qrhid3d11.cpp.
References context, contextState, i, and qMax().
Referenced by executeCommandBuffer().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 636 of file qrhid3d11.cpp.
References D3D11_VS_INPUT_REGISTER_COUNT, QRhi::FramesInFlight, QRhi::MaxAsyncReadbackFrames, QRhi::MaxColorAttachments, QRhi::MaxThreadGroupsPerDimension, QRhi::MaxThreadGroupX, QRhi::MaxThreadGroupY, QRhi::MaxThreadGroupZ, QRhi::MaxThreadsPerThreadGroup, QRhi::MaxUniformBufferRange, QRhi::MaxVertexInputs, QRhi::MaxVertexOutputs, QRhi::TextureArraySizeMax, QRhi::TextureSizeMax, and QRhi::TextureSizeMin.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2031 of file qrhid3d11.cpp.
References cb, enqueueResourceUpdates(), QD3D11CommandBuffer::NoPass, Q_ASSERT, and QRHI_RES.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1203 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::BlendConstants, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentGraphicsPipeline, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, and QD3D11CommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2189 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::BindComputePipeline, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::ComputePass, QD3D11CommandBuffer::currentComputePipeline, QD3D11CommandBuffer::currentGraphicsPipeline, QD3D11CommandBuffer::currentPipelineGeneration, Q_ASSERT, QRHI_RES, and QD3D11CommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 908 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::BindGraphicsPipeline, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentComputePipeline, QD3D11CommandBuffer::currentGraphicsPipeline, QD3D11CommandBuffer::currentPipelineGeneration, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, and QD3D11CommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 787 of file qrhid3d11.cpp.
References cacheKey(), QByteArray::data(), header(), headerSize, i, m_bytecodeCache, QRhiImplementation::pipelineCacheRhiId(), qCDebug, sourceHash(), and Qt::Uninitialized.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1183 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentTarget, QRhiRenderTarget::pixelSize(), Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, QD3D11CommandBuffer::RenderPass, QRhiScissor::scissor(), and QD3D11CommandBuffer::Command::Scissor.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 934 of file qrhid3d11.cpp.
References aligned(), QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::BindShaderResources, QRhiShaderResourceBinding::BufferLoad, QRhiShaderResourceBinding::BufferLoadStore, QRhiShaderResourceBinding::BufferStore, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QRhiShaderResourceBinding::Data::TextureAndOrSamplerData::count, QD3D11CommandBuffer::currentComputePipeline, QD3D11CommandBuffer::currentComputeSrb, QD3D11CommandBuffer::currentGraphicsPipeline, QD3D11CommandBuffer::currentGraphicsSrb, QD3D11CommandBuffer::currentSrbGeneration, QRhiBuffer::Dynamic, executeBufferHostWrites(), i, QRhiShaderResourceBinding::ImageLoad, QRhiShaderResourceBinding::ImageLoadStore, QRhiShaderResourceBinding::ImageStore, QD3D11CommandBuffer::MAX_DYNAMIC_OFFSET_COUNT, QD3D11CommandBuffer::NoPass, Q_ASSERT, QRHI_RES, qWarning, RBM_COMPUTE, RBM_DOMAIN, RBM_FRAGMENT, RBM_GEOMETRY, RBM_HULL, RBM_SUPPORTED_STAGES, RBM_VERTEX, QD3D11CommandBuffer::recordingPass, QRhiShaderResourceBinding::SampledTexture, QRhiShaderResourceBinding::Sampler, QRhiImplementation::shaderResourceBindingData(), QD3D11Texture::tex, QRhiShaderResourceBinding::Texture, QRhiShaderResourceBinding::UniformBuffer, QRhiBuffer::UniformBuffer, and updateShaderResourceBindings().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1217 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentGraphicsPipeline, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, QD3D11CommandBuffer::RenderPass, and QD3D11CommandBuffer::Command::StencilRef.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1091 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::BindIndexBuffer, QRhiVertexInputLayout::bindingAt(), QD3D11CommandBuffer::Command::BindVertexBuffers, cb, QRhiVertexInputLayout::cbeginBindings(), QRhiVertexInputLayout::cendBindings(), QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentGraphicsPipeline, QD3D11CommandBuffer::currentIndexBuffer, QD3D11CommandBuffer::currentIndexFormat, QD3D11CommandBuffer::currentIndexOffset, QD3D11CommandBuffer::currentVertexBuffers, QD3D11CommandBuffer::currentVertexOffsets, QRhiBuffer::Dynamic, executeBufferHostWrites(), i, QRhiBuffer::IndexBuffer, QRhiCommandBuffer::IndexUInt16, QD3D11CommandBuffer::MAX_VERTEX_BUFFER_BINDING_COUNT, Q_ASSERT, qMin(), QRHI_RES, qWarning, QD3D11CommandBuffer::recordingPass, QD3D11CommandBuffer::RenderPass, QRhiVertexInputBinding::stride(), and QRhiBuffer::VertexBuffer.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1161 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentTarget, QRhiRenderTarget::pixelSize(), Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, QD3D11CommandBuffer::RenderPass, QD3D11CommandBuffer::Command::Viewport, and viewport().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 687 of file qrhid3d11.cpp.
References QRhiImplementation::totalPipelineCreationTime().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 464 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 496 of file qrhid3d11.cpp.
void QRhiD3D11::updateShaderResourceBindings | ( | QD3D11ShaderResourceBindings * | srbD, |
const QShader::NativeResourceBindingMap * | nativeResourceBindingMaps[] ) |
Definition at line 2237 of file qrhid3d11.cpp.
References aligned(), Buffer, QRhiShaderResourceBinding::BufferLoad, QRhiShaderResourceBinding::BufferLoadStore, QRhiShaderResourceBinding::BufferStore, QSet< T >::clear(), QRhiShaderResourceBinding::ComputeStage, QRhiShaderResourceBinding::Data::TextureAndOrSamplerData::count, QRhiBatchedBindings< T >::feed(), QD3D11ShaderResourceBindings::StageUniformBufferBatches::finish(), QD3D11ShaderResourceBindings::StageSamplerBatches::finish(), QD3D11ShaderResourceBindings::StageUavBatches::finish(), QRhiShaderResourceBinding::FragmentStage, QRhiShaderResourceBinding::GeometryStage, i, QRhiShaderResourceBinding::ImageLoad, QRhiShaderResourceBinding::ImageLoadStore, QRhiShaderResourceBinding::ImageStore, mapBinding(), Q_ASSERT, QRHI_RES, qWarning, RBM_COMPUTE, RBM_DOMAIN, RBM_FRAGMENT, RBM_GEOMETRY, RBM_HULL, RBM_SUPPORTED_STAGES, RBM_VERTEX, QRhiShaderResourceBinding::SampledTexture, QRhiShaderResourceBinding::Sampler, Sampler, QD3D11ShaderResourceBindings::StageSamplerBatches::samplers, QRhiImplementation::shaderResourceBindingData(), QD3D11ShaderResourceBindings::StageSamplerBatches::shaderresources, QRhiShaderResourceBinding::TessellationControlStage, QRhiShaderResourceBinding::TessellationEvaluationStage, QD3D11Texture::tex, QRhiShaderResourceBinding::Texture, Texture, QD3D11ShaderResourceBindings::StageUavBatches::uavs, QD3D11ShaderResourceBindings::StageUniformBufferBatches::ubufoffsets, QD3D11ShaderResourceBindings::StageUniformBufferBatches::ubuforigbindings, QD3D11ShaderResourceBindings::StageUniformBufferBatches::ubufs, QD3D11ShaderResourceBindings::StageUniformBufferBatches::ubufsizes, QRhiShaderResourceBinding::UniformBuffer, and QRhiShaderResourceBinding::VertexStage.
Referenced by setShaderResources().
IDXGIAdapter1* QRhiD3D11::activeAdapter = nullptr |
Definition at line 769 of file qrhid3d11_p.h.
QVarLengthArray<BufferReadback, 2> QRhiD3D11::activeBufferReadbacks |
Definition at line 814 of file qrhid3d11_p.h.
Referenced by enqueueResourceUpdates(), and finishActiveReadbacks().
QVarLengthArray<TextureReadback, 2> QRhiD3D11::activeTextureReadbacks |
Definition at line 808 of file qrhid3d11_p.h.
Referenced by enqueueResourceUpdates(), and finishActiveReadbacks().
LUID QRhiD3D11::adapterLuid = {} |
Definition at line 767 of file qrhid3d11_p.h.
Referenced by QRhiD3D11(), and create().
ID3DUserDefinedAnnotation* QRhiD3D11::annotations = nullptr |
Definition at line 768 of file qrhid3d11_p.h.
Referenced by create(), debugMarkBegin(), debugMarkEnd(), debugMarkMsg(), destroy(), executeCommandBuffer(), and isFeatureSupported().
ID3D11DeviceContext1* QRhiD3D11::context = nullptr |
Definition at line 765 of file qrhid3d11_p.h.
Referenced by QRhiD3D11(), beginFrame(), create(), destroy(), endFrame(), endOffscreenFrame(), executeBufferHostWrites(), executeCommandBuffer(), finishActiveReadbacks(), and resetShaderResources().
struct { ... } QRhiD3D11::contextState |
Referenced by beginFrame(), endFrame(), enqueueResourceUpdates(), executeCommandBuffer(), finish(), and resetShaderResources().
int QRhiD3D11::csHighestActiveSrvBinding = -1 |
Definition at line 786 of file qrhid3d11_p.h.
int QRhiD3D11::csHighestActiveUavBinding = -1 |
Definition at line 787 of file qrhid3d11_p.h.
QD3D11SwapChain* QRhiD3D11::currentSwapChain = nullptr |
Definition at line 788 of file qrhid3d11_p.h.
IDCompositionDevice* QRhiD3D11::dcompDevice = nullptr |
Definition at line 771 of file qrhid3d11_p.h.
Referenced by destroy(), endFrame(), and ensureDirectCompositionDevice().
bool QRhiD3D11::debugLayer = false |
Definition at line 762 of file qrhid3d11_p.h.
Referenced by QRhiD3D11(), and create().
ID3D11Device* QRhiD3D11::dev = nullptr |
Definition at line 764 of file qrhid3d11_p.h.
Referenced by QRhiD3D11(), beginOffscreenFrame(), create(), destroy(), and enqueueResourceUpdates().
bool QRhiD3D11::deviceLost = false |
Definition at line 774 of file qrhid3d11_p.h.
Referenced by create(), endFrame(), and isDeviceLost().
QRhiDriverInfo QRhiD3D11::driverInfoStruct |
Definition at line 776 of file qrhid3d11_p.h.
Referenced by create(), and driverInfo().
int QRhiD3D11::dsHighestActiveSrvBinding = -1 |
Definition at line 783 of file qrhid3d11_p.h.
IDXGIFactory1* QRhiD3D11::dxgiFactory = nullptr |
Definition at line 770 of file qrhid3d11_p.h.
D3D_FEATURE_LEVEL QRhiD3D11::featureLevel = D3D_FEATURE_LEVEL(0) |
Definition at line 766 of file qrhid3d11_p.h.
Referenced by QRhiD3D11(), and create().
int QRhiD3D11::fsHighestActiveSrvBinding = -1 |
Definition at line 785 of file qrhid3d11_p.h.
int QRhiD3D11::gsHighestActiveSrvBinding = -1 |
Definition at line 784 of file qrhid3d11_p.h.
int QRhiD3D11::hsHighestActiveSrvBinding = -1 |
Definition at line 782 of file qrhid3d11_p.h.
bool QRhiD3D11::importedDeviceAndContext = false |
Definition at line 763 of file qrhid3d11_p.h.
Referenced by QRhiD3D11(), create(), and destroy().
QHash<BytecodeCacheKey, QByteArray> QRhiD3D11::m_bytecodeCache |
Definition at line 840 of file qrhid3d11_p.h.
Referenced by compileHlslShaderSource(), pipelineCacheData(), releaseCachedResources(), and setPipelineCacheData().
QHash<QRhiShaderStage, Shader> QRhiD3D11::m_shaderCache |
Definition at line 824 of file qrhid3d11_p.h.
Referenced by clearShaderCache().
QRhiD3D11NativeHandles QRhiD3D11::nativeHandlesStruct |
Definition at line 775 of file qrhid3d11_p.h.
Referenced by create(), and nativeHandles().
struct QRhiD3D11::OffscreenFrame QRhiD3D11::ofr |
Referenced by beginOffscreenFrame(), destroy(), endOffscreenFrame(), and finish().
QRhi::Flags QRhiD3D11::rhiFlags |
Definition at line 761 of file qrhid3d11_p.h.
Referenced by beginOffscreenFrame(), compileHlslShaderSource(), and create().
bool QRhiD3D11::supportsAllowTearing = false |
Definition at line 772 of file qrhid3d11_p.h.
Referenced by create().
bool QRhiD3D11::useLegacySwapchainModel = false |
Definition at line 773 of file qrhid3d11_p.h.
Referenced by create().
bool QRhiD3D11::vsHasIndexBufferBound = false |
Definition at line 780 of file qrhid3d11_p.h.
int QRhiD3D11::vsHighestActiveSrvBinding = -1 |
Definition at line 781 of file qrhid3d11_p.h.
int QRhiD3D11::vsHighestActiveVertexBufferBinding = -1 |
Definition at line 779 of file qrhid3d11_p.h.