![]() |
Qt 6.x
The Qt SDK
|
#include <qrhid3d11_p.h>
Classes | |
struct | BufferReadback |
struct | BytecodeCacheKey |
struct | OffscreenFrame |
struct | Shader |
struct | TextureReadback |
Additional Inherited Members | |
![]() | |
static const QRhiShaderResourceBinding::Data * | shaderResourceBindingData (const QRhiShaderResourceBinding &binding) |
static QRhiShaderResourceBinding::Data * | shaderResourceBindingData (QRhiShaderResourceBinding &binding) |
static bool | sortedBindingLessThan (const QRhiShaderResourceBinding &a, const QRhiShaderResourceBinding &b) |
![]() | |
static const int | MAX_SHADER_CACHE_ENTRIES = 128 |
Definition at line 617 of file qrhid3d11_p.h.
QRhiD3D11::QRhiD3D11 | ( | QRhiD3D11InitParams * | params, |
QRhiD3D11NativeHandles * | importDevice = nullptr |
||
) |
Definition at line 127 of file qrhid3d11.cpp.
References adapterLuid, context, debugLayer, dev, featureLevel, importedDeviceAndContext, and qWarning.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2068 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 1258 of file qrhid3d11.cpp.
References cb, executeCommandBuffer(), QRHI_RES, and QD3D11CommandBuffer::resetCommands().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1284 of file qrhid3d11.cpp.
References QD3D11Timestamps::active, QD3D11SwapChain::backBufferRtv, QD3D11SwapChain::cb, context, contextState, QRhiImplementation::currentFrameSlot, QD3D11SwapChain::currentFrameSlot, QD3D11SwapChainRenderTarget::d, QD3D11SwapChain::ds, QD3D11RenderBuffer::dsv, QD3D11RenderTargetData::dsv, finishActiveReadbacks(), QRhi::FrameOpSuccess, QD3D11CommandBuffer::lastGpuTime, QD3D11SwapChain::msaaRtv, Q_UNUSED, QRHI_RES, QD3D11CommandBuffer::resetState(), QD3D11SwapChain::rt, QD3D11RenderTargetData::rtv, QD3D11SwapChain::sampleDesc, QD3D11SwapChain::timestamps, and QD3D11Timestamps::tryQueryTimestamps().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1370 of file qrhid3d11.cpp.
References QD3D11Timestamps::active, QRhiD3D11::OffscreenFrame::active, cb, QRhiD3D11::OffscreenFrame::cbWrapper, context, QRhi::FrameOpSuccess, QD3D11CommandBuffer::lastGpuTime, ofr, Q_UNUSED, QD3D11CommandBuffer::resetState(), QRhiD3D11::OffscreenFrame::timestampIdx, QRhiD3D11::OffscreenFrame::timestamps, and QD3D11Timestamps::tryQueryTimestamps().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1948 of file qrhid3d11.cpp.
References QColor::alphaF(), QD3D11CommandBuffer::Command::args, QColor::blueF(), QD3D11CommandBuffer::Command::Args::c, cb, QD3D11CommandBuffer::Command::Clear, QD3D11CommandBuffer::Command::Args::clear, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::Command::Color, QD3D11RenderTargetData::colorAttCount, QD3D11CommandBuffer::commands, QD3D11TextureRenderTarget::create(), QD3D11RenderTargetData::currentResIdList, QD3D11CommandBuffer::currentTarget, QD3D11CommandBuffer::Command::Args::d, QD3D11CommandBuffer::Command::Depth, QRhiDepthStencilClearValue::depthClearValue(), QRhiTextureRenderTarget::description(), QD3D11RenderTargetData::dsAttCount, enqueueResourceUpdates(), QColor::greenF(), QRhiTextureRenderTarget::m_flags, QD3D11CommandBuffer::Command::Args::mask, QD3D11CommandBuffer::NoPass, QRhiTextureRenderTarget::PreserveColorContents, QRhiTextureRenderTarget::PreserveDepthStencilContents, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, QColor::redF(), QD3D11CommandBuffer::RenderPass, QD3D11CommandBuffer::resetCachedState(), QD3D11CommandBuffer::Command::ResetShaderResources, QRhiResource::resourceType(), QD3D11CommandBuffer::Command::Args::rt, rtData(), QD3D11CommandBuffer::Command::Args::s, QD3D11CommandBuffer::Command::SetRenderTarget, QD3D11CommandBuffer::Command::Args::setRenderTarget, QD3D11CommandBuffer::Command::Stencil, QRhiDepthStencilClearValue::stencilClearValue(), and QRhiResource::TextureRenderTarget.
void QRhiD3D11::bindShaderResources | ( | QD3D11ShaderResourceBindings * | srbD, |
const uint * | dynOfsPairs, | ||
int | dynOfsPairCount, | ||
bool | offsetOnlyChange | ||
) |
Definition at line 2540 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::MAX_DYNAMIC_OFFSET_COUNT, SETSAMPLERBATCH, SETUAVBATCH, and SETUBUFBATCH.
Referenced by executeCommandBuffer().
void QRhiD3D11::clearShaderCache | ( | ) |
Definition at line 365 of file qrhid3d11.cpp.
References m_shaderCache.
Referenced by destroy(), and releaseCachedResources().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 481 of file qrhid3d11.cpp.
QByteArray QRhiD3D11::compileHlslShaderSource | ( | const QShader & | shader, |
QShader::Variant | shaderVariant, | ||
uint | flags, | ||
QString * | error, | ||
QShaderKey * | usedShaderKey | ||
) |
Definition at line 4272 of file qrhid3d11.cpp.
References QRhiD3D11::BytecodeCacheKey::compileFlags, QShader::ComputeStage, QByteArray::constData(), QShader::DxbcShader, QRhi::EnablePipelineCacheDataSave, QRhiD3D11::BytecodeCacheKey::entryPoint, QShaderCode::entryPoint(), error, QShader::FragmentStage, QString::fromUtf8(), QShader::GeometryStage, QShader::HlslShader, QByteArray::isEmpty(), m_bytecodeCache, qWarning, QRhiD3D::resolveD3DCompile(), rhiFlags, QShaderCode::shader(), QByteArray::size(), sourceHash(), QRhiD3D11::BytecodeCacheKey::sourceHash, QRhiD3D11::BytecodeCacheKey::target, QShader::TessellationControlStage, QShader::TessellationEvaluationStage, and QShader::VertexStage.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 168 of file qrhid3d11.cpp.
References activeAdapter, adapterLuid, annotations, QVarLengthArray< T, Prealloc >::append(), QVarLengthArray< T, Prealloc >::constData(), context, QVarLengthArray< T, Prealloc >::count(), createDXGIFactory2(), debugLayer, desc, dev, QRhiDriverInfo::deviceId, deviceLost, QRhiDriverInfo::deviceName, driverInfoStruct, DXGI_ADAPTER_FLAG_SOFTWARE, dxgiFactory, QRhi::EnableTimestamps, featureLevel, QString::fromUtf16(), importedDeviceAndContext, nativeHandlesStruct, ofr, QRhi::PreferSoftwareRenderer, QD3D11Timestamps::prepare(), Q_ASSERT, qCDebug, qEnvironmentVariableIntValue(), qEnvironmentVariableIsSet(), qPrintable, qWarning, rhiFlags, supportsAllowTearing, QRhiD3D11::OffscreenFrame::timestamps, QString::toUtf8(), and QRhiDriverInfo::vendorId.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 456 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 859 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 854 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 827 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 841 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 864 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 451 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 834 of file qrhid3d11.cpp.
|
overridevirtual |
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1220 of file qrhid3d11.cpp.
References annotations, QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::Command::Args::debugMark, QD3D11CommandBuffer::Command::DebugMarkBegin, QRhiImplementation::debugMarkers, QRHI_RES, qstrncpy(), and QD3D11CommandBuffer::Command::Args::s.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1231 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 1241 of file qrhid3d11.cpp.
References annotations, QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QByteArray::constData(), QD3D11CommandBuffer::Command::Args::debugMark, QRhiImplementation::debugMarkers, QD3D11CommandBuffer::Command::DebugMarkMsg, QRHI_RES, qstrncpy(), and QD3D11CommandBuffer::Command::Args::s.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 373 of file qrhid3d11.cpp.
References activeAdapter, annotations, clearShaderCache(), context, dcompDevice, QD3D11Timestamps::destroy(), dev, dxgiFactory, finishActiveReadbacks(), importedDeviceAndContext, ofr, and QRhiD3D11::OffscreenFrame::timestamps.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2115 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::ComputePass, QD3D11CommandBuffer::Command::Dispatch, QD3D11CommandBuffer::Command::Args::dispatch, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, QD3D11CommandBuffer::Command::Args::x, QD3D11CommandBuffer::Command::Args::y, and QD3D11CommandBuffer::Command::Args::z.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1189 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentGraphicsPipeline, QD3D11CommandBuffer::Command::Draw, QD3D11CommandBuffer::Command::Args::draw, QD3D11CommandBuffer::Command::Args::firstInstance, QD3D11CommandBuffer::Command::Args::firstVertex, instanceCount, QD3D11CommandBuffer::Command::Args::instanceCount, QD3D11CommandBuffer::Command::Args::ps, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, QD3D11CommandBuffer::RenderPass, and QD3D11CommandBuffer::Command::Args::vertexCount.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1204 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentGraphicsPipeline, QD3D11CommandBuffer::Command::DrawIndexed, QD3D11CommandBuffer::Command::Args::drawIndexed, QD3D11CommandBuffer::Command::Args::firstIndex, QD3D11CommandBuffer::Command::Args::firstInstance, QD3D11CommandBuffer::Command::Args::indexCount, instanceCount, QD3D11CommandBuffer::Command::Args::instanceCount, QD3D11CommandBuffer::Command::Args::ps, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, QD3D11CommandBuffer::RenderPass, and QD3D11CommandBuffer::Command::Args::vertexOffset.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 643 of file qrhid3d11.cpp.
References driverInfoStruct.
DXGI_SAMPLE_DESC QRhiD3D11::effectiveSampleCount | ( | int | sampleCount | ) | const |
Definition at line 428 of file qrhid3d11.cpp.
References contains(), desc, qBound(), qWarning, and supportedSampleCounts().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2086 of file qrhid3d11.cpp.
References cb, QD3D11CommandBuffer::ComputePass, enqueueResourceUpdates(), QD3D11CommandBuffer::NoPass, Q_ASSERT, QRHI_RES, and QD3D11CommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1266 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentTarget, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::resetCachedState(), QD3D11CommandBuffer::Command::Args::rt, QD3D11CommandBuffer::Command::SetRenderTarget, and QD3D11CommandBuffer::Command::Args::setRenderTarget.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1309 of file qrhid3d11.cpp.
References QD3D11Timestamps::active, QD3D11SwapChain::backBufferTex, QD3D11SwapChain::BUFFER_COUNT, QD3D11SwapChain::cb, QD3D11SwapChain::colorFormat, context, contextState, QRhiImplementation::currentFrameSlot, QD3D11SwapChain::currentFrameSlot, dcompDevice, QD3D11SwapChain::dcompTarget, QD3D11SwapChain::dcompVisual, deviceLost, QD3D11Timestamps::disjointQuery, executeCommandBuffer(), QD3D11SwapChain::frameCount, QRhi::FrameOpDeviceLost, QRhi::FrameOpError, QRhi::FrameOpSuccess, QD3D11SwapChain::msaaTex, Q_ASSERT, qPrintable, QRHI_RES, QD3D11Timestamps::query, qWarning, QD3D11SwapChain::sampleDesc, QRhi::SkipPresent, QD3D11SwapChain::swapChain, QD3D11SwapChain::swapChainFlags, QD3D11SwapChain::swapInterval, and QD3D11SwapChain::timestamps.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1387 of file qrhid3d11.cpp.
References QD3D11Timestamps::active, QRhiD3D11::OffscreenFrame::active, QRhiD3D11::OffscreenFrame::cbWrapper, context, QD3D11Timestamps::disjointQuery, executeCommandBuffer(), finishActiveReadbacks(), QRhi::FrameOpSuccess, ofr, Q_UNUSED, QD3D11Timestamps::query, QRhiD3D11::OffscreenFrame::timestampIdx, and QRhiD3D11::OffscreenFrame::timestamps.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2000 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QRhiTextureRenderTargetDescription::cbeginColorAttachments(), QRhiTextureRenderTargetDescription::cendColorAttachments(), QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentTarget, QD3D11CommandBuffer::Command::Args::dst, QD3D11CommandBuffer::Command::Args::dstSubRes, QD3D11RenderBuffer::dxgiFormat, QD3D11Texture::dxgiFormat, enqueueResourceUpdates(), QD3D11CommandBuffer::Command::Args::format, it, QRhiColorAttachment::layer(), QRhiTextureRenderTarget::m_desc, QRhiTexture::m_pixelSize, QRhiRenderBuffer::m_pixelSize, QD3D11Texture::mipLevelCount, QD3D11CommandBuffer::NoPass, Q_ASSERT, QRHI_RES, qWarning, QD3D11CommandBuffer::recordingPass, QRhiColorAttachment::renderBuffer(), QD3D11CommandBuffer::RenderPass, QRhiColorAttachment::resolveLayer(), QRhiColorAttachment::resolveLevel(), QD3D11CommandBuffer::Command::ResolveSubRes, QD3D11CommandBuffer::Command::Args::resolveSubRes, QRhiColorAttachment::resolveTexture(), QRhiResource::resourceType(), QD3D11Texture::sampleDesc, QD3D11CommandBuffer::Command::Args::src, QD3D11CommandBuffer::Command::Args::srcSubRes, QD3D11RenderBuffer::tex, QRhiColorAttachment::texture(), QRhiResource::TextureRenderTarget, and QD3D11Texture::textureResource().
void QRhiD3D11::enqueueResourceUpdates | ( | QRhiCommandBuffer * | cb, |
QRhiResourceUpdateBatch * | resourceUpdates | ||
) |
Definition at line 1643 of file qrhid3d11.cpp.
References QRhiResourceUpdateBatchPrivate::activeBufferOpCount, activeBufferReadbacks, QRhiResourceUpdateBatchPrivate::activeTextureOpCount, activeTextureReadbacks, QD3D11CommandBuffer::Command::args, QD3D11SwapChain::backBufferTex, QRhiD3D11::TextureReadback::bpl, QRhiResourceUpdateBatchPrivate::BufferOp::buf, QD3D11Buffer::buffer, QRhiResourceUpdateBatchPrivate::bufferOps, QRhiD3D11::TextureReadback::byteSize, QRhiD3D11::BufferReadback::byteSize, cb, QD3D11CommandBuffer::Command::cmd, QD3D11SwapChain::colorFormat, QD3D11CommandBuffer::commands, QRhiReadbackResult::completed, QRhiBufferData::constData(), contextState, QRhiResourceUpdateBatchPrivate::TextureOp::Copy, QD3D11CommandBuffer::Command::CopySubRes, QD3D11CommandBuffer::Command::Args::copySubRes, QVarLengthArray< T, Prealloc >::count(), QD3D11SwapChain::currentFrameSlot, QByteArray::data(), QRhiReadbackResult::data, QRhiResourceUpdateBatchPrivate::BufferOp::data, desc, QRhiResourceUpdateBatchPrivate::TextureOp::desc, QRhiD3D11::TextureReadback::desc, QRhiTextureCopyDescription::destinationLayer(), QRhiTextureCopyDescription::destinationLevel(), QRhiTextureCopyDescription::destinationTopLeft(), dev, QRhiResourceUpdateBatchPrivate::TextureOp::dst, QD3D11CommandBuffer::Command::Args::dst, QD3D11CommandBuffer::Command::Args::dstBox, QD3D11CommandBuffer::Command::Args::dstSubRes, QD3D11CommandBuffer::Command::Args::dstX, QD3D11CommandBuffer::Command::Args::dstY, QD3D11CommandBuffer::Command::Args::dstZ, QD3D11Texture::dxgiFormat, QRhiBuffer::Dynamic, QRhiResourceUpdateBatchPrivate::BufferOp::DynamicUpdate, QD3D11Buffer::dynBuf, enqueueSubresUpload(), QRhiTexture::flags(), QD3D11CommandBuffer::Command::Args::format, QRhiD3D11::TextureReadback::format, QRhiResourceUpdateBatchPrivate::free(), QD3D11CommandBuffer::Command::GenMip, QD3D11CommandBuffer::Command::Args::genMip, QRhiResourceUpdateBatchPrivate::TextureOp::GenMips, QRhiResourceUpdateBatchPrivate::get(), QD3D11CommandBuffer::Command::Args::hasDstBox, QD3D11Buffer::hasPendingDynamicUpdates, QD3D11CommandBuffer::Command::Args::hasSrcBox, QSize::height(), QSize::isEmpty(), QRhiReadbackDescription::layer(), QRhiReadbackDescription::level(), QRhiTexture::m_flags, QRhiTexture::m_format, QRhiTexture::m_pixelSize, QRhiBuffer::m_size, QRhiBuffer::m_type, QRhi::MAX_MIP_LEVELS, QD3D11Texture::mipLevelCount, QD3D11SwapChain::msaaTex, QRhiResourceUpdateBatchPrivate::BufferOp::offset, QRhiTextureCopyDescription::pixelSize(), QD3D11SwapChain::pixelSize, QRhiD3D11::TextureReadback::pixelSize, Q_ASSERT, qPrintable, QRHI_RES, qWarning, QRhiResourceUpdateBatchPrivate::TextureOp::rb, QRhiResourceUpdateBatchPrivate::BufferOp::Read, QRhiResourceUpdateBatchPrivate::TextureOp::Read, QRhiResourceUpdateBatchPrivate::BufferOp::readSize, QByteArray::resize(), QD3D11CommandBuffer::Command::ResolveSubRes, QD3D11CommandBuffer::Command::Args::resolveSubRes, QRhiResourceUpdateBatchPrivate::BufferOp::result, QRhiResourceUpdateBatchPrivate::TextureOp::result, QRhiD3D11::TextureReadback::result, QRhiD3D11::BufferReadback::result, QD3D11CommandBuffer::retainBufferData(), QD3D11Texture::sampleDesc, QD3D11SwapChain::sampleDesc, QRhiBufferData::size(), QRhiTextureCopyDescription::sourceLayer(), QRhiTextureCopyDescription::sourceLevel(), QRhiTextureCopyDescription::sourceTopLeft(), sp, QRhiResourceUpdateBatchPrivate::TextureOp::src, QD3D11CommandBuffer::Command::Args::src, QD3D11CommandBuffer::Command::Args::srcBox, QD3D11CommandBuffer::Command::Args::srcRowPitch, QD3D11CommandBuffer::Command::Args::srcSubRes, QD3D11CommandBuffer::Command::Args::srv, QRhiD3D11::BufferReadback::stagingBuf, QRhiD3D11::TextureReadback::stagingTex, QRhiResourceUpdateBatchPrivate::BufferOp::StaticUpload, QRhiResourceUpdateBatchPrivate::TextureOp::subresDesc, swapchainReadbackTextureFormat(), QRhiReadbackDescription::texture(), QRhiImplementation::textureFormatInfo(), QRhiResourceUpdateBatchPrivate::textureOps, QD3D11Texture::textureResource(), QRhiTexture::ThreeDimensional, QRhiResourceUpdateBatchPrivate::BufferOp::type, QRhiResourceUpdateBatchPrivate::TextureOp::type, QRhiTexture::UnknownFormat, QD3D11CommandBuffer::Command::UpdateSubRes, QD3D11CommandBuffer::Command::Args::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 1563 of file qrhid3d11.cpp.
References aligned(), QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QRhiImplementation::compressedFormatInfo(), QRhiTextureSubresourceUploadDescription::data(), QRhiTextureSubresourceUploadDescription::dataStride(), QRhiTextureSubresourceUploadDescription::destinationTopLeft(), QD3D11CommandBuffer::Command::Args::dst, QD3D11CommandBuffer::Command::Args::dstBox, QD3D11CommandBuffer::Command::Args::dstSubRes, QD3D11CommandBuffer::Command::Args::hasDstBox, QSize::height(), QRhiTextureSubresourceUploadDescription::image(), QRhiImplementation::isCompressedFormat(), QByteArray::isEmpty(), QSize::isEmpty(), QImage::isNull(), QPoint::isNull(), QRhiTexture::m_flags, QRhiTexture::m_format, QRhiTexture::m_pixelSize, QD3D11Texture::mipLevelCount, qWarning, QD3D11CommandBuffer::retainData(), QD3D11CommandBuffer::retainImage(), QRhiTextureSubresourceUploadDescription::sourceSize(), QRhiTextureSubresourceUploadDescription::sourceTopLeft(), sp, QD3D11CommandBuffer::Command::Args::src, QD3D11CommandBuffer::Command::Args::srcRowPitch, QRhiImplementation::textureFormatInfo(), QD3D11Texture::textureResource(), QRhiTexture::ThreeDimensional, QD3D11CommandBuffer::Command::UpdateSubRes, QD3D11CommandBuffer::Command::Args::updateSubRes, QSize::width(), QPoint::x(), and QPoint::y().
Referenced by enqueueResourceUpdates().
bool QRhiD3D11::ensureDirectCompositionDevice | ( | ) |
Definition at line 4984 of file qrhid3d11.cpp.
References QRhiD3D::createDirectCompositionDevice(), dcompDevice, and qCDebug.
void QRhiD3D11::executeBufferHostWrites | ( | QD3D11Buffer * | bufD | ) |
Definition at line 2424 of file qrhid3d11.cpp.
References QD3D11Buffer::buffer, context, QRhiBuffer::Dynamic, QD3D11Buffer::dynBuf, QD3D11Buffer::hasPendingDynamicUpdates, QRhiBuffer::m_size, QRhiBuffer::m_type, Q_ASSERT, qPrintable, and qWarning.
Referenced by setShaderResources(), and setVertexInput().
void QRhiD3D11::executeCommandBuffer | ( | QD3D11CommandBuffer * | cbD, |
QD3D11SwapChain * | timestampSwapChain = nullptr |
||
) |
Definition at line 2646 of file qrhid3d11.cpp.
References QD3D11Timestamps::active, annotations, QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::BindComputePipeline, QD3D11CommandBuffer::Command::Args::bindComputePipeline, QD3D11CommandBuffer::Command::BindGraphicsPipeline, QD3D11CommandBuffer::Command::Args::bindGraphicsPipeline, QD3D11CommandBuffer::Command::BindIndexBuffer, QD3D11CommandBuffer::Command::Args::bindIndexBuffer, QD3D11CommandBuffer::Command::BindShaderResources, QD3D11CommandBuffer::Command::Args::bindShaderResources, bindShaderResources(), QD3D11CommandBuffer::Command::BindVertexBuffers, QD3D11CommandBuffer::Command::Args::bindVertexBuffers, QD3D11CommandBuffer::Command::BlendConstants, QD3D11CommandBuffer::Command::Args::blendConstants, QD3D11GraphicsPipeline::blendState, QD3D11CommandBuffer::Command::Args::buffer, QD3D11SwapChain::BUFFER_COUNT, QD3D11CommandBuffer::Command::Args::buffers, QD3D11CommandBuffer::Command::Args::c, QD3D11CommandBuffer::Command::Clear, QD3D11CommandBuffer::Command::Args::clear, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::Command::Color, QD3D11RenderTargetData::colorAttCount, QD3D11CommandBuffer::commands, context, contextState, QD3D11CommandBuffer::Command::CopySubRes, QD3D11CommandBuffer::Command::Args::copySubRes, QRhiImplementation::currentFrameSlot, QD3D11SwapChain::currentFrameSlot, QD3D11CommandBuffer::Command::Args::d, QD3D11CommandBuffer::Command::Args::d0, QD3D11CommandBuffer::Command::Args::d1, QD3D11GraphicsPipeline::d3dTopology, QD3D11CommandBuffer::Command::Args::debugMark, QD3D11CommandBuffer::Command::DebugMarkBegin, QD3D11CommandBuffer::Command::DebugMarkEnd, QD3D11CommandBuffer::Command::DebugMarkMsg, QD3D11CommandBuffer::Command::Depth, QD3D11Timestamps::disjointQuery, QD3D11CommandBuffer::Command::Dispatch, QD3D11CommandBuffer::Command::Args::dispatch, QD3D11CommandBuffer::Command::Draw, QD3D11CommandBuffer::Command::Args::draw, QD3D11CommandBuffer::Command::DrawIndexed, QD3D11CommandBuffer::Command::Args::drawIndexed, QD3D11GraphicsPipeline::dsState, QD3D11CommandBuffer::Command::Args::dst, QD3D11CommandBuffer::Command::Args::dstBox, QD3D11CommandBuffer::Command::Args::dstSubRes, QD3D11CommandBuffer::Command::Args::dstX, QD3D11CommandBuffer::Command::Args::dstY, QD3D11CommandBuffer::Command::Args::dstZ, QD3D11RenderTargetData::dsv, QD3D11CommandBuffer::Command::Args::dynamicOffsetCount, QD3D11CommandBuffer::Command::Args::dynamicOffsetPairs, QD3D11CommandBuffer::Command::Args::firstIndex, QD3D11CommandBuffer::Command::Args::firstInstance, QD3D11CommandBuffer::Command::Args::firstVertex, QD3D11CommandBuffer::Command::Args::format, QString::fromLatin1(), QD3D11CommandBuffer::Command::GenMip, QD3D11CommandBuffer::Command::Args::genMip, QD3D11CommandBuffer::Command::Args::h, QD3D11CommandBuffer::Command::Args::hasDstBox, QD3D11CommandBuffer::Command::Args::hasSrcBox, i, QD3D11CommandBuffer::Command::Args::indexCount, QD3D11GraphicsPipeline::inputLayout, QD3D11CommandBuffer::Command::Args::instanceCount, it, QD3D11CommandBuffer::Command::Args::mask, QD3D11CommandBuffer::Command::Args::offset, QD3D11CommandBuffer::Command::Args::offsetOnlyChange, QD3D11CommandBuffer::Command::Args::offsets, QD3D11CommandBuffer::Command::Args::ps, QD3D11Timestamps::query, qWarning, QD3D11GraphicsPipeline::rastState, QD3D11CommandBuffer::Command::Args::ref, QD3D11CommandBuffer::Command::ResetShaderResources, resetShaderResources(), QD3D11CommandBuffer::Command::ResolveSubRes, QD3D11CommandBuffer::Command::Args::resolveSubRes, QD3D11CommandBuffer::Command::Args::rt, QD3D11SwapChain::rt, rtData(), QD3D11RenderTargetData::rtv, QD3D11CommandBuffer::Command::Args::s, QD3D11CommandBuffer::Command::Scissor, QD3D11CommandBuffer::Command::Args::scissor, QD3D11CommandBuffer::Command::SetRenderTarget, QD3D11CommandBuffer::Command::Args::setRenderTarget, SETSHADER, QD3D11GraphicsPipeline::shader, QD3D11CommandBuffer::Command::Args::slotCount, QD3D11CommandBuffer::Command::Args::srb, QD3D11CommandBuffer::Command::Args::src, QD3D11CommandBuffer::Command::Args::srcBox, QD3D11CommandBuffer::Command::Args::srcRowPitch, QD3D11CommandBuffer::Command::Args::srcSubRes, QD3D11CommandBuffer::Command::Args::srv, QD3D11CommandBuffer::Command::Args::startSlot, QD3D11CommandBuffer::Command::Stencil, QD3D11CommandBuffer::Command::StencilRef, QD3D11CommandBuffer::Command::Args::stencilRef, QD3D11CommandBuffer::Command::Args::strides, QD3D11SwapChain::timestamps, QD3D11CommandBuffer::Command::UpdateSubRes, QD3D11CommandBuffer::Command::Args::updateSubRes, QString::utf16(), QD3D11CommandBuffer::Command::Args::vertexCount, QD3D11CommandBuffer::Command::Args::vertexOffset, QD3D11CommandBuffer::Command::Viewport, QD3D11CommandBuffer::Command::Args::viewport, QD3D11CommandBuffer::Command::Args::w, QD3D11CommandBuffer::Command::Args::x, QD3D11CommandBuffer::Command::Args::y, and QD3D11CommandBuffer::Command::Args::z.
Referenced by beginExternal(), endFrame(), endOffscreenFrame(), and finish().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1542 of file qrhid3d11.cpp.
References QRhiD3D11::OffscreenFrame::active, QRhiD3D11::OffscreenFrame::cbWrapper, contextState, executeCommandBuffer(), finishActiveReadbacks(), QRhi::FrameOpSuccess, QRhiImplementation::inFrame, QD3D11CommandBuffer::NoPass, ofr, Q_ASSERT, QD3D11CommandBuffer::recordingPass, and QD3D11CommandBuffer::resetCommands().
void QRhiD3D11::finishActiveReadbacks | ( | ) |
Definition at line 1866 of file qrhid3d11.cpp.
References activeBufferReadbacks, activeTextureReadbacks, QRhiD3D11::TextureReadback::bpl, QRhiD3D11::TextureReadback::byteSize, QRhiD3D11::BufferReadback::byteSize, QRhiReadbackResult::completed, context, QByteArray::data(), QRhiReadbackResult::data, QRhiReadbackResult::format, QRhiD3D11::TextureReadback::format, QSize::height(), i, QRhiReadbackResult::pixelSize, QRhiD3D11::TextureReadback::pixelSize, qPrintable, qWarning, QByteArray::resize(), QRhiD3D11::TextureReadback::result, QRhiD3D11::BufferReadback::result, QRhiD3D11::BufferReadback::stagingBuf, QRhiD3D11::TextureReadback::stagingTex, and void.
Referenced by beginFrame(), destroy(), endOffscreenFrame(), and finish().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 476 of file qrhid3d11.cpp.
|
overridevirtual |
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 506 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::ScreenSpaceDerivatives, QRhi::Tessellation, QRhi::TexelFetch, QRhi::TextureArrayRange, QRhi::TextureArrays, QRhi::ThreeDimensionalTextureMipmaps, QRhi::ThreeDimensionalTextures, QRhi::Timestamps, QRhi::TriangleFanTopology, QRhi::VertexShaderPointSize, and QRhi::WideLines.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 496 of file qrhid3d11.cpp.
References QRhiTexture::ASTC_12x12, QRhiTexture::ETC2_RGB8, and Q_UNUSED.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 466 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 471 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1278 of file qrhid3d11.cpp.
References cb, QD3D11CommandBuffer::lastGpuTime, and QRHI_RES.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 655 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 638 of file qrhid3d11.cpp.
References nativeHandlesStruct.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1252 of file qrhid3d11.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 681 of file qrhid3d11.cpp.
References QByteArray::constData(), QString::count(), header(), i, it, m_bytecodeCache, QRhiImplementation::pipelineCacheRhiId(), Q_ASSERT, QSet< T >::size(), QByteArray::size(), and Qt::Uninitialized.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 661 of file qrhid3d11.cpp.
References clearShaderCache(), and m_bytecodeCache.
void QRhiD3D11::reportLiveObjects | ( | ID3D11Device * | device | ) |
Definition at line 413 of file qrhid3d11.cpp.
void QRhiD3D11::resetShaderResources | ( | ) |
Definition at line 2565 of file qrhid3d11.cpp.
References QVarLengthArray< T, Prealloc >::constData(), context, contextState, i, and qMax().
Referenced by executeCommandBuffer().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 597 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 1941 of file qrhid3d11.cpp.
References cb, enqueueResourceUpdates(), QD3D11CommandBuffer::NoPass, Q_ASSERT, and QRHI_RES.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1164 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::BlendConstants, QD3D11CommandBuffer::Command::Args::blendConstants, QD3D11CommandBuffer::Command::Args::c, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentGraphicsPipeline, QD3D11CommandBuffer::Command::Args::ps, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, and QD3D11CommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2097 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::BindComputePipeline, QD3D11CommandBuffer::Command::Args::bindComputePipeline, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::ComputePass, QD3D11CommandBuffer::currentComputePipeline, QD3D11CommandBuffer::currentGraphicsPipeline, QD3D11CommandBuffer::currentPipelineGeneration, QD3D11ComputePipeline::generation, QD3D11CommandBuffer::Command::Args::ps, Q_ASSERT, QRHI_RES, and QD3D11CommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 869 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::BindGraphicsPipeline, QD3D11CommandBuffer::Command::Args::bindGraphicsPipeline, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentComputePipeline, QD3D11CommandBuffer::currentGraphicsPipeline, QD3D11CommandBuffer::currentPipelineGeneration, QD3D11GraphicsPipeline::generation, QD3D11CommandBuffer::Command::Args::ps, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, and QD3D11CommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 748 of file qrhid3d11.cpp.
References QRhiD3D11::BytecodeCacheKey::compileFlags, QString::constData(), QString::count(), QByteArray::data(), QRhiD3D11::BytecodeCacheKey::entryPoint, header(), headerSize, i, m_bytecodeCache, QRhiImplementation::pipelineCacheRhiId(), qCDebug, sourceHash(), QRhiD3D11::BytecodeCacheKey::sourceHash, QRhiD3D11::BytecodeCacheKey::target, and Qt::Uninitialized.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1144 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentTarget, QD3D11CommandBuffer::Command::Args::h, QRhiRenderTarget::pixelSize(), Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, QD3D11CommandBuffer::RenderPass, QRhiScissor::scissor(), QD3D11CommandBuffer::Command::Scissor, QD3D11CommandBuffer::Command::Args::scissor, QD3D11CommandBuffer::Command::Args::w, QD3D11CommandBuffer::Command::Args::x, and QD3D11CommandBuffer::Command::Args::y.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 895 of file qrhid3d11.cpp.
References aligned(), QD3D11CommandBuffer::Command::args, QVarLengthArray< T, Prealloc >::at(), QD3D11CommandBuffer::Command::BindShaderResources, QD3D11CommandBuffer::Command::Args::bindShaderResources, QD3D11ShaderResourceBindings::boundResourceData, QRhiShaderResourceBinding::BufferLoad, QRhiShaderResourceBinding::BufferLoadStore, QRhiShaderResourceBinding::BufferStore, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QVarLengthArray< T, Prealloc >::count(), QD3D11ShaderResourceBindings::BoundSampledTextureData::count, QD3D11ComputePipeline::cs, QD3D11CommandBuffer::currentComputePipeline, QD3D11CommandBuffer::currentComputeSrb, QD3D11CommandBuffer::currentGraphicsPipeline, QD3D11CommandBuffer::currentGraphicsSrb, QD3D11CommandBuffer::currentSrbGeneration, QD3D11ShaderResourceBindings::BoundSampledTextureData::d, QD3D11GraphicsPipeline::ds, QRhiBuffer::Dynamic, QD3D11CommandBuffer::Command::Args::dynamicOffsetCount, QD3D11CommandBuffer::Command::Args::dynamicOffsetPairs, executeBufferHostWrites(), QD3D11GraphicsPipeline::fs, QD3D11Buffer::generation, QD3D11Texture::generation, QD3D11Sampler::generation, QD3D11ShaderResourceBindings::generation, QD3D11ShaderResourceBindings::BoundUniformBufferData::generation, QD3D11ShaderResourceBindings::BoundStorageImageData::generation, QD3D11ShaderResourceBindings::BoundStorageBufferData::generation, QD3D11GraphicsPipeline::gs, QD3D11ShaderResourceBindings::hasDynamicOffset, QD3D11GraphicsPipeline::hs, i, QD3D11ShaderResourceBindings::BoundUniformBufferData::id, QD3D11ShaderResourceBindings::BoundStorageImageData::id, QD3D11ShaderResourceBindings::BoundStorageBufferData::id, QRhiShaderResourceBinding::ImageLoad, QRhiShaderResourceBinding::ImageLoadStore, QRhiShaderResourceBinding::ImageStore, QRhiResource::m_id, QRhiGraphicsPipeline::m_shaderResourceBindings, QRhiComputePipeline::m_shaderResourceBindings, QRhiBuffer::m_type, QRhiBuffer::m_usage, QD3D11CommandBuffer::MAX_DYNAMIC_OFFSET_COUNT, QD3D11GraphicsPipeline::nativeResourceBindingMap, QD3D11ComputePipeline::nativeResourceBindingMap, QD3D11CommandBuffer::NoPass, QD3D11CommandBuffer::Command::Args::offsetOnlyChange, 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, QD3D11ShaderResourceBindings::BoundSampledTextureData::samplerGeneration, QD3D11ShaderResourceBindings::BoundSampledTextureData::samplerId, QD3D11ShaderResourceBindings::BoundResourceData::sbuf, QRhiImplementation::shaderResourceBindingData(), QD3D11ShaderResourceBindings::BoundResourceData::simage, QD3D11ShaderResourceBindings::sortedBindings, QD3D11CommandBuffer::Command::Args::srb, QD3D11ShaderResourceBindings::BoundResourceData::stex, QD3D11Texture::tex, QD3D11ShaderResourceBindings::BoundSampledTextureData::texGeneration, QD3D11ShaderResourceBindings::BoundSampledTextureData::texId, QRhiShaderResourceBinding::Texture, QD3D11ShaderResourceBindings::BoundResourceData::ubuf, QRhiShaderResourceBinding::UniformBuffer, QRhiBuffer::UniformBuffer, updateShaderResourceBindings(), and QD3D11GraphicsPipeline::vs.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1178 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentGraphicsPipeline, QD3D11CommandBuffer::Command::Args::ps, Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, QD3D11CommandBuffer::Command::Args::ref, QD3D11CommandBuffer::RenderPass, QD3D11CommandBuffer::Command::StencilRef, and QD3D11CommandBuffer::Command::Args::stencilRef.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1052 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, QD3D11CommandBuffer::Command::BindIndexBuffer, QD3D11CommandBuffer::Command::Args::bindIndexBuffer, QRhiVertexInputLayout::bindingAt(), QD3D11CommandBuffer::Command::BindVertexBuffers, QD3D11CommandBuffer::Command::Args::bindVertexBuffers, QD3D11Buffer::buffer, QD3D11CommandBuffer::Command::Args::buffer, QD3D11CommandBuffer::Command::Args::buffers, 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(), QD3D11CommandBuffer::Command::Args::format, i, QRhiBuffer::IndexBuffer, QRhiCommandBuffer::IndexUInt16, QRhiBuffer::m_type, QRhiBuffer::m_usage, QRhiGraphicsPipeline::m_vertexInputLayout, QD3D11CommandBuffer::MAX_VERTEX_BUFFER_BINDING_COUNT, QD3D11CommandBuffer::Command::Args::offset, QD3D11CommandBuffer::Command::Args::offsets, Q_ASSERT, qMin(), QRHI_RES, qWarning, QD3D11CommandBuffer::recordingPass, QD3D11CommandBuffer::RenderPass, QD3D11CommandBuffer::Command::Args::slotCount, QD3D11CommandBuffer::Command::Args::startSlot, QRhiVertexInputBinding::stride(), QD3D11CommandBuffer::Command::Args::strides, and QRhiBuffer::VertexBuffer.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1122 of file qrhid3d11.cpp.
References QD3D11CommandBuffer::Command::args, cb, QD3D11CommandBuffer::Command::cmd, QD3D11CommandBuffer::commands, QD3D11CommandBuffer::currentTarget, QD3D11CommandBuffer::Command::Args::d0, QD3D11CommandBuffer::Command::Args::d1, QD3D11CommandBuffer::Command::Args::h, QRhiRenderTarget::pixelSize(), Q_ASSERT, QRHI_RES, QD3D11CommandBuffer::recordingPass, QD3D11CommandBuffer::RenderPass, QD3D11CommandBuffer::Command::Viewport, QD3D11CommandBuffer::Command::Args::viewport, viewport(), QD3D11CommandBuffer::Command::Args::w, QD3D11CommandBuffer::Command::Args::x, and QD3D11CommandBuffer::Command::Args::y.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 648 of file qrhid3d11.cpp.
References QRhiImplementation::totalPipelineCreationTime().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 423 of file qrhid3d11.cpp.
Referenced by effectiveSampleCount().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 461 of file qrhid3d11.cpp.
void QRhiD3D11::updateShaderResourceBindings | ( | QD3D11ShaderResourceBindings * | srbD, |
const QShader::NativeResourceBindingMap * | nativeResourceBindingMaps[] | ||
) |
Definition at line 2145 of file qrhid3d11.cpp.
References aligned(), QVarLengthArray< T, Prealloc >::at(), QD3D11ShaderResourceBindings::boundResourceData, QD3D11Buffer::buffer, Buffer, QRhiShaderResourceBinding::BufferLoad, QRhiShaderResourceBinding::BufferLoadStore, QRhiShaderResourceBinding::BufferStore, QD3D11ShaderResourceBindings::StageUniformBufferBatches::clear(), QD3D11ShaderResourceBindings::StageSamplerBatches::clear(), QD3D11ShaderResourceBindings::StageUavBatches::clear(), QRhiShaderResourceBinding::ComputeStage, QVarLengthArray< T, Prealloc >::count(), QD3D11ShaderResourceBindings::BoundSampledTextureData::count, QD3D11ShaderResourceBindings::csSamplerBatches, QD3D11ShaderResourceBindings::csUavBatches, QD3D11ShaderResourceBindings::csUniformBufferBatches, QD3D11ShaderResourceBindings::BoundSampledTextureData::d, QD3D11ShaderResourceBindings::dsSamplerBatches, QD3D11ShaderResourceBindings::dsUniformBufferBatches, QRhiBatchedBindings< T >::feed(), QD3D11ShaderResourceBindings::StageUniformBufferBatches::finish(), QD3D11ShaderResourceBindings::StageSamplerBatches::finish(), QD3D11ShaderResourceBindings::StageUavBatches::finish(), QRhiShaderResourceBinding::FragmentStage, QD3D11ShaderResourceBindings::fsSamplerBatches, QD3D11ShaderResourceBindings::fsUniformBufferBatches, QD3D11Buffer::generation, QD3D11Texture::generation, QD3D11Sampler::generation, QD3D11ShaderResourceBindings::BoundUniformBufferData::generation, QD3D11ShaderResourceBindings::BoundStorageImageData::generation, QD3D11ShaderResourceBindings::BoundStorageBufferData::generation, QRhiShaderResourceBinding::GeometryStage, QD3D11ShaderResourceBindings::gsSamplerBatches, QD3D11ShaderResourceBindings::gsUniformBufferBatches, QD3D11ShaderResourceBindings::hsSamplerBatches, QD3D11ShaderResourceBindings::hsUniformBufferBatches, i, QD3D11ShaderResourceBindings::BoundUniformBufferData::id, QD3D11ShaderResourceBindings::BoundStorageImageData::id, QD3D11ShaderResourceBindings::BoundStorageBufferData::id, QRhiShaderResourceBinding::ImageLoad, QRhiShaderResourceBinding::ImageLoadStore, QRhiShaderResourceBinding::ImageStore, QRhiResource::m_id, QRhiBuffer::m_size, 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::BoundSampledTextureData::samplerGeneration, QD3D11ShaderResourceBindings::BoundSampledTextureData::samplerId, QD3D11ShaderResourceBindings::StageSamplerBatches::samplers, QD3D11Sampler::samplerState, QD3D11ShaderResourceBindings::BoundResourceData::sbuf, QRhiImplementation::shaderResourceBindingData(), QD3D11ShaderResourceBindings::StageSamplerBatches::shaderresources, QD3D11ShaderResourceBindings::BoundResourceData::simage, QD3D11ShaderResourceBindings::sortedBindings, QD3D11Texture::srv, QD3D11ShaderResourceBindings::BoundResourceData::stex, QRhiShaderResourceBinding::TessellationControlStage, QRhiShaderResourceBinding::TessellationEvaluationStage, QD3D11Texture::tex, QD3D11ShaderResourceBindings::BoundSampledTextureData::texGeneration, QD3D11ShaderResourceBindings::BoundSampledTextureData::texId, QRhiShaderResourceBinding::Texture, Texture, QD3D11ShaderResourceBindings::StageUavBatches::uavs, QD3D11ShaderResourceBindings::BoundResourceData::ubuf, QD3D11ShaderResourceBindings::StageUniformBufferBatches::ubufoffsets, QD3D11ShaderResourceBindings::StageUniformBufferBatches::ubuforigbindings, QD3D11ShaderResourceBindings::StageUniformBufferBatches::ubufs, QD3D11ShaderResourceBindings::StageUniformBufferBatches::ubufsizes, QRhiShaderResourceBinding::UniformBuffer, QD3D11Buffer::unorderedAccessView(), QD3D11Texture::unorderedAccessViewForLevel(), QRhiShaderResourceBinding::VertexStage, QD3D11ShaderResourceBindings::vsSamplerBatches, and QD3D11ShaderResourceBindings::vsUniformBufferBatches.
Referenced by setShaderResources().
IDXGIAdapter1* QRhiD3D11::activeAdapter = nullptr |
Definition at line 756 of file qrhid3d11_p.h.
QVarLengthArray<BufferReadback, 2> QRhiD3D11::activeBufferReadbacks |
Definition at line 800 of file qrhid3d11_p.h.
Referenced by enqueueResourceUpdates(), and finishActiveReadbacks().
QVarLengthArray<TextureReadback, 2> QRhiD3D11::activeTextureReadbacks |
Definition at line 794 of file qrhid3d11_p.h.
Referenced by enqueueResourceUpdates(), and finishActiveReadbacks().
LUID QRhiD3D11::adapterLuid = {} |
Definition at line 754 of file qrhid3d11_p.h.
Referenced by QRhiD3D11(), and create().
ID3DUserDefinedAnnotation* QRhiD3D11::annotations = nullptr |
Definition at line 755 of file qrhid3d11_p.h.
Referenced by create(), debugMarkBegin(), debugMarkEnd(), debugMarkMsg(), destroy(), executeCommandBuffer(), and isFeatureSupported().
ID3D11DeviceContext1* QRhiD3D11::context = nullptr |
Definition at line 752 of file qrhid3d11_p.h.
Referenced by QRhiD3D11(), beginFrame(), beginOffscreenFrame(), 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 772 of file qrhid3d11_p.h.
int QRhiD3D11::csHighestActiveUavBinding = -1 |
Definition at line 773 of file qrhid3d11_p.h.
QD3D11SwapChain* QRhiD3D11::currentSwapChain = nullptr |
Definition at line 774 of file qrhid3d11_p.h.
IDCompositionDevice* QRhiD3D11::dcompDevice = nullptr |
Definition at line 758 of file qrhid3d11_p.h.
Referenced by destroy(), endFrame(), and ensureDirectCompositionDevice().
bool QRhiD3D11::debugLayer = false |
Definition at line 749 of file qrhid3d11_p.h.
Referenced by QRhiD3D11(), and create().
ID3D11Device* QRhiD3D11::dev = nullptr |
Definition at line 751 of file qrhid3d11_p.h.
Referenced by QRhiD3D11(), create(), destroy(), enqueueResourceUpdates(), and QD3D11Timestamps::prepare().
bool QRhiD3D11::deviceLost = false |
Definition at line 760 of file qrhid3d11_p.h.
Referenced by create(), endFrame(), and isDeviceLost().
QRhiDriverInfo QRhiD3D11::driverInfoStruct |
Definition at line 762 of file qrhid3d11_p.h.
Referenced by create(), and driverInfo().
int QRhiD3D11::dsHighestActiveSrvBinding = -1 |
Definition at line 769 of file qrhid3d11_p.h.
IDXGIFactory1* QRhiD3D11::dxgiFactory = nullptr |
Definition at line 757 of file qrhid3d11_p.h.
D3D_FEATURE_LEVEL QRhiD3D11::featureLevel = D3D_FEATURE_LEVEL(0) |
Definition at line 753 of file qrhid3d11_p.h.
Referenced by QRhiD3D11(), and create().
int QRhiD3D11::fsHighestActiveSrvBinding = -1 |
Definition at line 771 of file qrhid3d11_p.h.
int QRhiD3D11::gsHighestActiveSrvBinding = -1 |
Definition at line 770 of file qrhid3d11_p.h.
int QRhiD3D11::hsHighestActiveSrvBinding = -1 |
Definition at line 768 of file qrhid3d11_p.h.
bool QRhiD3D11::importedDeviceAndContext = false |
Definition at line 750 of file qrhid3d11_p.h.
Referenced by QRhiD3D11(), create(), and destroy().
QHash<BytecodeCacheKey, QByteArray> QRhiD3D11::m_bytecodeCache |
Definition at line 826 of file qrhid3d11_p.h.
Referenced by compileHlslShaderSource(), pipelineCacheData(), releaseCachedResources(), and setPipelineCacheData().
QHash<QRhiShaderStage, Shader> QRhiD3D11::m_shaderCache |
Definition at line 810 of file qrhid3d11_p.h.
Referenced by clearShaderCache().
QRhiD3D11NativeHandles QRhiD3D11::nativeHandlesStruct |
Definition at line 761 of file qrhid3d11_p.h.
Referenced by create(), and nativeHandles().
struct QRhiD3D11::OffscreenFrame QRhiD3D11::ofr |
Referenced by beginOffscreenFrame(), create(), destroy(), endOffscreenFrame(), and finish().
QRhi::Flags QRhiD3D11::rhiFlags |
Definition at line 748 of file qrhid3d11_p.h.
Referenced by compileHlslShaderSource(), and create().
bool QRhiD3D11::supportsAllowTearing = false |
Definition at line 759 of file qrhid3d11_p.h.
Referenced by create().
bool QRhiD3D11::vsHasIndexBufferBound = false |
Definition at line 766 of file qrhid3d11_p.h.
int QRhiD3D11::vsHighestActiveSrvBinding = -1 |
Definition at line 767 of file qrhid3d11_p.h.
int QRhiD3D11::vsHighestActiveVertexBufferBinding = -1 |
Definition at line 765 of file qrhid3d11_p.h.