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"
#include "qshader.h"
#include "vs_test_p.h"
#include <QWindow>
#include <qmath.h>
#include <QtCore/qcryptographichash.h>
#include <QtCore/private/qsystemerror_p.h>
#include "qrhid3dhelpers_p.h"
Go to the source code of this file.
Classes | |
struct | QD3D11PipelineCacheDataHeader |
Macros | |
#define | DXGI_ADAPTER_FLAG_SOFTWARE 2 |
\variable QRhiD3D11NativeHandles::dev | |
#define | D3D11_1_UAV_SLOT_COUNT 64 |
#define | D3D11_VS_INPUT_REGISTER_COUNT 32 |
#define | SETUBUFBATCH(stagePrefixL, stagePrefixU) |
#define | SETSAMPLERBATCH(stagePrefixL, stagePrefixU) |
#define | SETUAVBATCH(stagePrefixL, stagePrefixU) |
#define | SETSHADER(StageL, StageU) |
Variables | |
static const int | RBM_SUPPORTED_STAGES = 6 |
static const int | RBM_VERTEX = 0 |
static const int | RBM_HULL = 1 |
static const int | RBM_DOMAIN = 2 |
static const int | RBM_GEOMETRY = 3 |
static const int | RBM_FRAGMENT = 4 |
static const int | RBM_COMPUTE = 5 |
static const DXGI_FORMAT | DEFAULT_FORMAT = DXGI_FORMAT_R8G8B8A8_UNORM |
static const DXGI_FORMAT | DEFAULT_SRGB_FORMAT = DXGI_FORMAT_R8G8B8A8_UNORM_SRGB |
#define D3D11_1_UAV_SLOT_COUNT 64 |
Definition at line 145 of file qrhid3d11.cpp.
#define D3D11_VS_INPUT_REGISTER_COUNT 32 |
Definition at line 149 of file qrhid3d11.cpp.
Referenced by QRhiD3D11::resourceLimit().
#define DXGI_ADAPTER_FLAG_SOFTWARE 2 |
\variable QRhiD3D11NativeHandles::dev
Points to a \l{https://learn.microsoft.com/en-us/windows/win32/api/d3d11/nn-d3d11-id3d11device}{ID3D11Device} or left set to \nullptr if no existing device is to be imported.
\variable QRhiD3D11NativeHandles::context
Points to a \l{https://learn.microsoft.com/en-us/windows/win32/api/d3d11/nn-d3d11-id3d11devicecontext}{ID3D11DeviceContext} or left set to \nullptr if no existing device context is to be imported.
\variable QRhiD3D11NativeHandles::featureLevel
Specifies the feature level passed to \l{https://learn.microsoft.com/en-us/windows/win32/api/d3d11/nf-d3d11-d3d11createdevice}{D3D11CreateDevice()}. Relevant only when QRhi creates the device, ignored when importing a device and device context. When not set, the default rules outlined in the D3D documentation apply.
\variable QRhiD3D11NativeHandles::adapterLuidLow
The low part of the local identifier (LUID) of the DXGI adapter to use. Relevant only when QRhi creates the device, ignored when importing a device and device context.
\variable QRhiD3D11NativeHandles::adapterLuidHigh
The high part of the local identifier (LUID) of the DXGI adapter to use. Relevant only when QRhi creates the device, ignored when importing a device and device context.
Definition at line 141 of file qrhid3d11.cpp.
Referenced by QRhiD3D11::create(), and QRhiD3D::fillDriverInfo().
#define SETSAMPLERBATCH | ( | stagePrefixL, | |
stagePrefixU ) |
Definition at line 2597 of file qrhid3d11.cpp.
Referenced by QRhiD3D11::bindShaderResources().
#define SETSHADER | ( | StageL, | |
StageU ) |
Definition at line 2729 of file qrhid3d11.cpp.
Referenced by QRhiD3D11::executeCommandBuffer().
#define SETUAVBATCH | ( | stagePrefixL, | |
stagePrefixU ) |
Definition at line 2616 of file qrhid3d11.cpp.
Referenced by QRhiD3D11::bindShaderResources().
#define SETUBUFBATCH | ( | stagePrefixL, | |
stagePrefixU ) |
Definition at line 2568 of file qrhid3d11.cpp.
Referenced by QRhiD3D11::bindShaderResources().
|
inline |
Definition at line 176 of file qrhid3d11.cpp.
Referenced by bindingDataFromPropertyData(), QD3D11Buffer::create(), QMetalBuffer::create(), QRhiVulkan::createTransientImage(), QQC2::QCommonStyle::drawControl(), QCommonStyle::drawControl(), QX11PaintEngine::drawEllipse(), QRhiMetal::drawIndexed(), QStyle::drawItemPixmap(), QQC2::QStyle::drawItemPixmap(), QRhiD3D11::enqueueSubresUpload(), QRhiMetal::enqueueSubresUpload(), QX11PaintEnginePrivate::fillPolygon_dev(), QRhiVulkan::prepareUploadSubres(), QSGOpenVGInternalRectangleNode::setAligned(), QSGBasicInternalRectangleNode::setAligned(), QQuickAnchors::setAlignWhenCentered(), QQuickPen::setPixelAligned(), QRhiD3D11::setShaderResources(), QRhiVulkan::subresUploadByteSize(), QD3D11Buffer::unorderedAccessView(), QRhiD3D11::updateShaderResourceBindings(), QRhiVulkan::updateShaderResourceBindings(), and QScrollAreaPrivate::updateWidgetPosition().
|
static |
Definition at line 2534 of file qrhid3d11.cpp.
|
inlinestatic |
Definition at line 2558 of file qrhid3d11.cpp.
References qWarning.
|
static |
Definition at line 181 of file qrhid3d11.cpp.
References qPrintable, and qWarning.
Referenced by QRhiD3D11::create().
|
inlinestatic |
Definition at line 1631 of file qrhid3d11.cpp.
References QRhiTexture::D16, QRhiTexture::D24, QRhiTexture::D24S8, and QRhiTexture::D32F.
Referenced by QD3D11Texture::create(), QVkTexture::create(), QD3D11Texture::finishCreate(), and QD3D11Texture::prepareCreate().
|
inlinestatic |
Definition at line 2219 of file qrhid3d11.cpp.
References QMap< Key, T >::cend(), QMap< Key, T >::constFind(), QMap< Key, T >::isEmpty(), it, and map.
Referenced by QRhiMetal::enqueueShaderResourceBindings(), and QRhiD3D11::updateShaderResourceBindings().
|
inline |
Definition at line 4086 of file qrhid3d11.cpp.
Referenced by QD3D11GraphicsPipeline::destroy().
|
inlinestatic |
Definition at line 1322 of file qrhid3d11.cpp.
References QRHI_RES, QRhiResource::resourceType(), QRhiResource::SwapChainRenderTarget, and QRhiResource::TextureRenderTarget.
Referenced by QRhiD3D11::beginFrame(), QRhiD3D11::beginPass(), and QRhiD3D11::executeCommandBuffer().
|
inlinestatic |
Definition at line 4376 of file qrhid3d11.cpp.
References QCryptographicHash::Sha1.
Referenced by QRhiD3D11::compileHlslShaderSource(), and QRhiD3D11::setPipelineCacheData().
|
inlinestatic |
Definition at line 1603 of file qrhid3d11.cpp.
References QRhiTexture::BGRA8, qWarning, QRhiTexture::RGB10A2, QRhiTexture::RGBA16F, QRhiTexture::RGBA32F, QRhiTexture::RGBA8, QRhiTexture::sRGB, and QRhiTexture::UnknownFormat.
Referenced by QRhiD3D11::enqueueResourceUpdates(), and QRhiVulkan::enqueueResourceUpdates().
|
inlinestatic |
Definition at line 3654 of file qrhid3d11.cpp.
References QRhiSampler::ClampToEdge, QRhiSampler::Mirror, and QRhiSampler::Repeat.
Referenced by QD3D11Sampler::create().
|
inlinestatic |
Definition at line 4207 of file qrhid3d11.cpp.
References QRhiVertexInputAttribute::Float, QRhiVertexInputAttribute::Float2, QRhiVertexInputAttribute::Float3, QRhiVertexInputAttribute::Float4, QRhiVertexInputAttribute::Half, QRhiVertexInputAttribute::Half2, QRhiVertexInputAttribute::Half3, QRhiVertexInputAttribute::Half4, QRhiVertexInputAttribute::SInt, QRhiVertexInputAttribute::SInt2, QRhiVertexInputAttribute::SInt3, QRhiVertexInputAttribute::SInt4, QRhiVertexInputAttribute::SShort, QRhiVertexInputAttribute::SShort2, QRhiVertexInputAttribute::SShort3, QRhiVertexInputAttribute::SShort4, QRhiVertexInputAttribute::UInt, QRhiVertexInputAttribute::UInt2, QRhiVertexInputAttribute::UInt3, QRhiVertexInputAttribute::UInt4, QRhiVertexInputAttribute::UNormByte, QRhiVertexInputAttribute::UNormByte2, QRhiVertexInputAttribute::UNormByte4, QRhiVertexInputAttribute::UShort, QRhiVertexInputAttribute::UShort2, QRhiVertexInputAttribute::UShort3, and QRhiVertexInputAttribute::UShort4.
Referenced by QD3D11GraphicsPipeline::create().
|
inlinestatic |
Definition at line 4306 of file qrhid3d11.cpp.
References QRhiGraphicsPipeline::ConstantAlpha, QRhiGraphicsPipeline::ConstantColor, QRhiGraphicsPipeline::DstAlpha, QRhiGraphicsPipeline::DstColor, QRhiGraphicsPipeline::One, QRhiGraphicsPipeline::OneMinusConstantAlpha, QRhiGraphicsPipeline::OneMinusConstantColor, QRhiGraphicsPipeline::OneMinusDstAlpha, QRhiGraphicsPipeline::OneMinusDstColor, QRhiGraphicsPipeline::OneMinusSrc1Alpha, QRhiGraphicsPipeline::OneMinusSrc1Color, QRhiGraphicsPipeline::OneMinusSrcAlpha, QRhiGraphicsPipeline::OneMinusSrcColor, rgb, QRhiGraphicsPipeline::Src1Alpha, QRhiGraphicsPipeline::Src1Color, QRhiGraphicsPipeline::SrcAlpha, QRhiGraphicsPipeline::SrcAlphaSaturate, QRhiGraphicsPipeline::SrcColor, and QRhiGraphicsPipeline::Zero.
Referenced by QD3D11GraphicsPipeline::create().
|
inlinestatic |
Definition at line 4357 of file qrhid3d11.cpp.
References QRhiGraphicsPipeline::Add, QRhiGraphicsPipeline::Max, QRhiGraphicsPipeline::Min, QRhiGraphicsPipeline::ReverseSubtract, and QRhiGraphicsPipeline::Subtract.
Referenced by QD3D11GraphicsPipeline::create().
|
inlinestatic |
Definition at line 2962 of file qrhid3d11.cpp.
References QRhiBuffer::IndexBuffer, QRhiBuffer::StorageBuffer, QRhiBuffer::UniformBuffer, and QRhiBuffer::VertexBuffer.
Referenced by QD3D11Buffer::create().
|
inlinestatic |
Definition at line 4292 of file qrhid3d11.cpp.
References QRhiGraphicsPipeline::A, QRhiGraphicsPipeline::B, QRhiGraphicsPipeline::G, and QRhiGraphicsPipeline::R.
Referenced by QD3D11GraphicsPipeline::create().
|
inlinestatic |
Definition at line 4157 of file qrhid3d11.cpp.
References QRhiGraphicsPipeline::Always, QRhiGraphicsPipeline::Equal, QRhiGraphicsPipeline::Greater, QRhiGraphicsPipeline::GreaterOrEqual, QRhiGraphicsPipeline::Less, QRhiGraphicsPipeline::LessOrEqual, QRhiGraphicsPipeline::Never, and QRhiGraphicsPipeline::NotEqual.
Referenced by QD3D11GraphicsPipeline::create().
|
inlinestatic |
Definition at line 4129 of file qrhid3d11.cpp.
References QRhiGraphicsPipeline::Back, QRhiGraphicsPipeline::Front, and QRhiGraphicsPipeline::None.
Referenced by QD3D11GraphicsPipeline::create().
|
inlinestatic |
Definition at line 3264 of file qrhid3d11.cpp.
References QRhiTexture::D16, QRhiTexture::D24, QRhiTexture::D24S8, and QRhiTexture::D32F.
Referenced by QD3D11TextureRenderTarget::create().
|
inlinestatic |
Definition at line 3247 of file qrhid3d11.cpp.
References QRhiTexture::D16, QRhiTexture::D24, QRhiTexture::D24S8, and QRhiTexture::D32F.
Referenced by QD3D11Texture::finishCreate().
|
inlinestatic |
Definition at line 4144 of file qrhid3d11.cpp.
References QRhiGraphicsPipeline::Fill, and QRhiGraphicsPipeline::Line.
Referenced by QD3D11GraphicsPipeline::create().
|
inlinestatic |
Definition at line 3622 of file qrhid3d11.cpp.
References QRhiSampler::Linear, and QRhiSampler::Nearest.
Referenced by QD3D11Sampler::create().
|
inlinestatic |
Definition at line 4182 of file qrhid3d11.cpp.
References QRhiGraphicsPipeline::DecrementAndClamp, QRhiGraphicsPipeline::DecrementAndWrap, QRhiGraphicsPipeline::IncrementAndClamp, QRhiGraphicsPipeline::IncrementAndWrap, QRhiGraphicsPipeline::Invert, QRhiGraphicsPipeline::Keep, QRhiGraphicsPipeline::Replace, and QRhiGraphicsPipeline::StencilZero.
Referenced by QD3D11GraphicsPipeline::create().
|
inlinestatic |
Definition at line 3669 of file qrhid3d11.cpp.
References QRhiSampler::Always, QRhiSampler::Equal, QRhiSampler::Greater, QRhiSampler::GreaterOrEqual, QRhiSampler::Less, QRhiSampler::LessOrEqual, QRhiSampler::Never, and QRhiSampler::NotEqual.
Referenced by QD3D11Sampler::create().
|
inlinestatic |
Definition at line 1519 of file qrhid3d11.cpp.
References QRhiTexture::ASTC_10x10, QRhiTexture::ASTC_10x5, QRhiTexture::ASTC_10x6, QRhiTexture::ASTC_10x8, QRhiTexture::ASTC_12x10, QRhiTexture::ASTC_12x12, QRhiTexture::ASTC_4x4, QRhiTexture::ASTC_5x4, QRhiTexture::ASTC_5x5, QRhiTexture::ASTC_6x5, QRhiTexture::ASTC_6x6, QRhiTexture::ASTC_8x5, QRhiTexture::ASTC_8x6, QRhiTexture::ASTC_8x8, QRhiTexture::BC1, QRhiTexture::BC2, QRhiTexture::BC3, QRhiTexture::BC4, QRhiTexture::BC5, QRhiTexture::BC6H, QRhiTexture::BC7, QRhiTexture::BGRA8, QRhiTexture::D16, QRhiTexture::D24, QRhiTexture::D24S8, QRhiTexture::D32F, QRhiTexture::ETC2_RGB8, QRhiTexture::ETC2_RGB8A1, QRhiTexture::ETC2_RGBA8, qWarning, QRhiTexture::R16, QRhiTexture::R16F, QRhiTexture::R32F, QRhiTexture::R8, QRhiTexture::RED_OR_ALPHA8, QRhiTexture::RG16, QRhiTexture::RG8, QRhiTexture::RGB10A2, QRhiTexture::RGBA16F, QRhiTexture::RGBA32F, QRhiTexture::RGBA8, and QRhiTexture::sRGB.
Referenced by QD3D11RenderBuffer::create(), QD3D11TextureRenderTarget::create(), and QD3D11Texture::prepareCreate().
|
inlinestatic |
Definition at line 4270 of file qrhid3d11.cpp.
References QRhiGraphicsPipeline::Lines, QRhiGraphicsPipeline::LineStrip, QRhiGraphicsPipeline::Patches, QRhiGraphicsPipeline::Points, Q_ASSERT, QRhiGraphicsPipeline::Triangles, and QRhiGraphicsPipeline::TriangleStrip.
Referenced by QD3D11GraphicsPipeline::create().
|
static |
Definition at line 5074 of file qrhid3d11.cpp.
Referenced by QD3D11SwapChain::createOrResize().
|
static |
Definition at line 5075 of file qrhid3d11.cpp.
Referenced by QD3D11SwapChain::createOrResize().
|
static |
Definition at line 932 of file qrhid3d11.cpp.
Referenced by QRhiD3D11::setShaderResources(), and QRhiD3D11::updateShaderResourceBindings().
|
static |
Definition at line 929 of file qrhid3d11.cpp.
Referenced by QRhiD3D11::setShaderResources(), and QRhiD3D11::updateShaderResourceBindings().
|
static |
Definition at line 931 of file qrhid3d11.cpp.
Referenced by QRhiD3D11::setShaderResources(), and QRhiD3D11::updateShaderResourceBindings().
|
static |
Definition at line 930 of file qrhid3d11.cpp.
Referenced by QRhiD3D11::setShaderResources(), and QRhiD3D11::updateShaderResourceBindings().
|
static |
Definition at line 928 of file qrhid3d11.cpp.
Referenced by QRhiD3D11::setShaderResources(), and QRhiD3D11::updateShaderResourceBindings().
|
static |
Definition at line 926 of file qrhid3d11.cpp.
Referenced by QRhiD3D11::setShaderResources(), and QRhiD3D11::updateShaderResourceBindings().
|
static |
Definition at line 927 of file qrhid3d11.cpp.
Referenced by QRhiD3D11::setShaderResources(), and QRhiD3D11::updateShaderResourceBindings().