![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
#include <qrhigles2_p.h>
Classes | |
struct | Caps |
struct | DeferredReleaseEntry |
struct | OffscreenFrame |
struct | PipelineCacheData |
struct | Scratch |
Public Types | |
enum | ProgramCacheResult { ProgramCacheHit , ProgramCacheMiss , ProgramCacheError } |
using | ActiveUniformLocationTracker = QDuplicateTracker<int, 32> |
Additional Inherited Members | |
Static Public Member Functions inherited from QRhiImplementation | |
static QRhiImplementation * | newInstance (QRhi::Implementation impl, QRhiInitParams *params, QRhiNativeHandles *importDevice) |
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 766 of file qrhigles2_p.h.
using QRhiGles2::ActiveUniformLocationTracker = QDuplicateTracker<int, 32> |
Definition at line 914 of file qrhigles2_p.h.
Enumerator | |
---|---|
ProgramCacheHit | |
ProgramCacheMiss | |
ProgramCacheError |
Definition at line 930 of file qrhigles2_p.h.
QRhiGles2::QRhiGles2 | ( | QRhiGles2InitParams * | params, |
QRhiGles2NativeHandles * | importDevice = nullptr ) |
Definition at line 634 of file qrhigles2.cpp.
References QRhiGles2(), and importedContext.
Referenced by QRhiGles2().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4902 of file qrhigles2.cpp.
References QGles2CommandBuffer::ComputePass, enqueueBarriersForPass(), enqueueResourceUpdates(), QGles2CommandBuffer::NoPass, QGles2CommandBuffer::recordingPass, and QGles2CommandBuffer::resetCachedState().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2239 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::Barrier, QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::ComputePass, currentSwapChain, executeCommandBuffer(), f, QGles2CommandBuffer::recordingPass, and QGles2CommandBuffer::resetCommands().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2302 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::BeginFrame, currentSwapChain, QGles2SwapChain::currentTimestampPairIndex, and executeDeferredReleases().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2365 of file qrhigles2.cpp.
References executeDeferredReleases().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4709 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::Clear, QGles2CommandBuffer::Command::cmd, QGles2RenderTargetData::colorAttCount, QGles2TextureRenderTarget::create(), QGles2RenderTargetData::dsAttCount, enqueueBarriersForPass(), enqueueResourceUpdates(), QGles2CommandBuffer::NoPass, QGles2CommandBuffer::recordingPass, QGles2CommandBuffer::RenderPass, and QGles2CommandBuffer::resetCachedState().
void QRhiGles2::bindCombinedSampler | ( | QGles2CommandBuffer * | cbD, |
QGles2Texture * | texD, | ||
QGles2Sampler * | samplerD, | ||
void * | ps, | ||
uint | psGeneration, | ||
int | glslLocation, | ||
int * | texUnit, | ||
bool * | activeTexUnitAltered ) |
Definition at line 4192 of file qrhigles2.cpp.
References f.
void QRhiGles2::bindShaderResources | ( | QGles2CommandBuffer * | cbD, |
QRhiGraphicsPipeline * | maybeGraphicsPs, | ||
QRhiComputePipeline * | maybeComputePs, | ||
QRhiShaderResourceBindings * | srb, | ||
const uint * | dynOfsPairs, | ||
int | dynOfsCount ) |
Definition at line 4245 of file qrhigles2.cpp.
References f, QGles2ComputePipeline::uniformState, and QGles2GraphicsPipeline::uniformState.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1297 of file qrhigles2.cpp.
bool QRhiGles2::compileShader | ( | GLuint | program, |
const QRhiShaderStage & | shaderStage, | ||
QShaderVersion * | shaderVersion ) |
Definition at line 5135 of file qrhigles2.cpp.
References f.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 762 of file qrhigles2.cpp.
References contextLost, f, and importedContext.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1270 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1898 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1888 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1856 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1870 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1893 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1877 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1265 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1863 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1882 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2197 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2206 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2214 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1188 of file qrhigles2.cpp.
References executeDeferredReleases(), f, and importedContext.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4973 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::Barrier, QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::ComputePass, QGles2CommandBuffer::Command::Dispatch, QGles2CommandBuffer::ComputePassState::Read, and QGles2CommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2166 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::Command::Draw, QGles2CommandBuffer::recordingPass, and QGles2CommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2181 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::Command::DrawIndexed, QGles2CommandBuffer::recordingPass, and QGles2CommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1682 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4919 of file qrhigles2.cpp.
References QGles2CommandBuffer::ComputePass, enqueueResourceUpdates(), QGles2CommandBuffer::NoPass, and QGles2CommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2275 of file qrhigles2.cpp.
References addBoundaryCommand(), QGles2CommandBuffer::currentPassResTrackerIndex, enqueueBarriersForPass(), QGles2CommandBuffer::NoPass, QGles2CommandBuffer::recordingPass, QGles2CommandBuffer::resetCachedState(), and QGles2CommandBuffer::Command::ResetFrame.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2331 of file qrhigles2.cpp.
References currentSwapChain, QGles2SwapChain::currentTimestampPairIndex, QGles2CommandBuffer::Command::EndFrame, executeCommandBuffer(), f, needsMakeCurrentDueToSwap, and QGles2SwapChainTimestamps::TIMESTAMP_PAIRS.
|
overridevirtual |
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4756 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::BlitFromRenderbuffer, QGles2CommandBuffer::Command::BlitFromTexture, QGles2CommandBuffer::Command::cmd, enqueueResourceUpdates(), QGles2CommandBuffer::Command::InvalidateFramebuffer, QGles2CommandBuffer::NoPass, QGles2CommandBuffer::recordingPass, and QGles2CommandBuffer::RenderPass.
void QRhiGles2::enqueueBarriersForPass | ( | QGles2CommandBuffer * | cbD | ) |
Definition at line 4700 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::BarriersForPass, QGles2CommandBuffer::Command::cmd, and QGles2CommandBuffer::currentPassResTrackerIndex.
Referenced by beginComputePass(), beginPass(), and endExternal().
QGles2RenderTargetData * QRhiGles2::enqueueBindFramebuffer | ( | QRhiRenderTarget * | rt, |
QGles2CommandBuffer * | cbD, | ||
bool * | wantsColorClear = nullptr, | ||
bool * | wantsDsClear = nullptr ) |
Definition at line 4627 of file qrhigles2.cpp.
void QRhiGles2::enqueueResourceUpdates | ( | QRhiCommandBuffer * | cb, |
QRhiResourceUpdateBatch * | resourceUpdates ) |
Definition at line 2657 of file qrhigles2.cpp.
References QGles2Texture::AccessFramebuffer, QGles2Texture::AccessRead, QGles2Buffer::AccessUpdate, QGles2Texture::AccessUpdate, QRhiResourceUpdateBatchPrivate::activeBufferOpCount, QRhiResourceUpdateBatchPrivate::activeTextureOpCount, QGles2CommandBuffer::Command::BufferSubData, QGles2CommandBuffer::Command::cmd, QRhiBufferData::constData(), QRhiResourceUpdateBatchPrivate::TextureOp::Copy, QGles2CommandBuffer::Command::CopyTex, currentSwapChain, QRhiResourceUpdateBatchPrivate::BufferOp::data, QRhiResourceUpdateBatchPrivate::TextureOp::dst, QRhiResourceUpdateBatchPrivate::BufferOp::DynamicUpdate, QRhiResourceUpdateBatchPrivate::free(), QGles2CommandBuffer::Command::GenMip, QRhiResourceUpdateBatchPrivate::TextureOp::GenMips, QRhiResourceUpdateBatchPrivate::get(), QGles2CommandBuffer::Command::GetBufferSubData, QRhiResourceUpdateBatchPrivate::BufferOp::Read, QRhiResourceUpdateBatchPrivate::TextureOp::Read, QGles2CommandBuffer::Command::ReadPixels, QGles2Texture::specified, QRhiResourceUpdateBatchPrivate::TextureOp::src, QRhiResourceUpdateBatchPrivate::BufferOp::StaticUpload, trackedBufferBarrier(), trackedImageBarrier(), QRhiResourceUpdateBatchPrivate::BufferOp::type, QRhiResourceUpdateBatchPrivate::TextureOp::type, and QRhiResourceUpdateBatchPrivate::TextureOp::Upload.
Referenced by beginComputePass(), beginPass(), endComputePass(), endPass(), and resourceUpdate().
void QRhiGles2::enqueueSubresUpload | ( | QGles2Texture * | texD, |
QGles2CommandBuffer * | cbD, | ||
int | layer, | ||
int | level, | ||
const QRhiTextureSubresourceUploadDescription & | subresDesc ) |
Definition at line 2521 of file qrhigles2.cpp.
References QGles2Texture::AccessUpdate, QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::Command::CompressedImage, QGles2CommandBuffer::Command::CompressedSubImage, QGles2Texture::specified, QGles2CommandBuffer::Command::SubImage, trackedImageBarrier(), and QGles2Texture::zeroInitialized.
bool QRhiGles2::ensureContext | ( | QSurface * | surface = nullptr | ) | const |
Definition at line 679 of file qrhigles2.cpp.
References contextLost, and needsMakeCurrentDueToSwap.
QSurface * QRhiGles2::evaluateFallbackSurface | ( | ) | const |
Definition at line 667 of file qrhigles2.cpp.
void QRhiGles2::executeBindGraphicsPipeline | ( | QGles2CommandBuffer * | cbD, |
QGles2GraphicsPipeline * | psD ) |
Definition at line 3981 of file qrhigles2.cpp.
References QGles2CommandBuffer::GraphicsPassState::blendEnabled, QGles2CommandBuffer::GraphicsPassState::cpCount, QGles2CommandBuffer::GraphicsPassState::cullFace, QGles2CommandBuffer::GraphicsPassState::depthTest, QGles2CommandBuffer::GraphicsPassState::depthWrite, f, GLenum, QGles2CommandBuffer::GraphicsPassState::lineWidth, operator!=(), QGles2CommandBuffer::GraphicsPassState::polyOffsetFactor, QGles2CommandBuffer::GraphicsPassState::polyOffsetFill, QGles2CommandBuffer::GraphicsPassState::polyOffsetUnits, QGles2CommandBuffer::GraphicsPassState::scissor, QGles2CommandBuffer::GraphicsPassState::stencilTest, and QGles2CommandBuffer::GraphicsPassState::valid.
Referenced by executeCommandBuffer().
void QRhiGles2::executeCommandBuffer | ( | QRhiCommandBuffer * | cb | ) |
Definition at line 3185 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::Barrier, QGles2CommandBuffer::Command::BarriersForPass, QGles2CommandBuffer::Command::BeginFrame, QGles2CommandBuffer::Command::BindComputePipeline, QGles2CommandBuffer::Command::BindFramebuffer, QGles2CommandBuffer::Command::BindGraphicsPipeline, QGles2CommandBuffer::Command::BindIndexBuffer, QGles2CommandBuffer::Command::BindVertexBuffer, QGles2CommandBuffer::Command::BlendConstants, QGles2CommandBuffer::Command::BlitFromRenderbuffer, QGles2CommandBuffer::Command::BlitFromTexture, QGles2CommandBuffer::Command::BufferSubData, QGles2CommandBuffer::Command::Clear, QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::Command::CompressedImage, QGles2CommandBuffer::Command::CompressedSubImage, QGles2CommandBuffer::Command::CopyTex, QGles2CommandBuffer::Command::Dispatch, QGles2CommandBuffer::Command::Draw, QGles2CommandBuffer::Command::DrawIndexed, CommandBufferExecTrackedState::enabledAttribArrays, QGles2CommandBuffer::Command::EndFrame, executeBindGraphicsPipeline(), f, QGles2CommandBuffer::Command::GenMip, QGles2CommandBuffer::Command::GetBufferSubData, GLenum, GLint, CommandBufferExecTrackedState::instancedAttributesUsed, QGles2CommandBuffer::Command::InvalidateFramebuffer, CommandBufferExecTrackedState::maxUntrackedInstancedAttribute, CommandBufferExecTrackedState::nonzeroAttribDivisor, QGles2CommandBuffer::Command::ReadPixels, QGles2CommandBuffer::Command::Scissor, QGles2CommandBuffer::Command::StencilRef, QGles2CommandBuffer::Command::SubImage, CommandBufferExecTrackedState::TRACKED_ATTRIB_COUNT, QGles2CommandBuffer::Command::Viewport, void(), void(), and void().
Referenced by beginExternal(), endFrame(), and finish().
void QRhiGles2::executeDeferredReleases | ( | ) |
Definition at line 1219 of file qrhigles2.cpp.
References QRhiGles2::DeferredReleaseEntry::Buffer, f, QRhiGles2::DeferredReleaseEntry::Pipeline, QRhiGles2::DeferredReleaseEntry::RenderBuffer, QRhiGles2::DeferredReleaseEntry::Texture, QRhiGles2::DeferredReleaseEntry::TextureRenderTarget, and QRhiGles2::DeferredReleaseEntry::type.
Referenced by beginFrame(), beginOffscreenFrame(), and destroy().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2418 of file qrhigles2.cpp.
References currentSwapChain, executeCommandBuffer(), f, and QGles2CommandBuffer::NoPass.
void QRhiGles2::gatherGeneratedSamplers | ( | GLuint | program, |
const QShader::SeparateToCombinedImageSamplerMapping & | mapping, | ||
QGles2SamplerDescriptionVector * | dst ) |
Definition at line 5286 of file qrhigles2.cpp.
void QRhiGles2::gatherSamplers | ( | GLuint | program, |
const QShaderDescription::InOutVariable & | v, | ||
QGles2SamplerDescriptionVector * | dst ) |
Definition at line 5272 of file qrhigles2.cpp.
void QRhiGles2::gatherUniforms | ( | GLuint | program, |
const QShaderDescription::UniformBlock & | ub, | ||
ActiveUniformLocationTracker * | activeUniformLocations, | ||
QGles2UniformDescriptionVector * | dst ) |
Definition at line 5235 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1292 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1720 of file qrhigles2.cpp.
References contextLost.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1527 of file qrhigles2.cpp.
bool QRhiGles2::isProgramBinaryDiskCacheEnabled | ( | ) | const |
Definition at line 5323 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1467 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1282 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1287 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2296 of file qrhigles2.cpp.
References QGles2CommandBuffer::lastGpuTime.
bool QRhiGles2::linkProgram | ( | GLuint | program | ) |
Definition at line 5179 of file qrhigles2.cpp.
References f.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1694 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1677 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2223 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1734 of file qrhigles2.cpp.
References QGles2PipelineCacheDataHeader::driver.
void QRhiGles2::registerUniformIfActive | ( | const QShaderDescription::BlockVariable & | var, |
const QByteArray & | namePrefix, | ||
int | binding, | ||
int | baseOffset, | ||
GLuint | program, | ||
ActiveUniformLocationTracker * | activeUniformLocations, | ||
QGles2UniformDescriptionVector * | dst ) |
Definition at line 5199 of file qrhigles2.cpp.
References QGles2UniformDescription::arrayDim, QGles2UniformDescription::binding, f, and QGles2UniformDescription::glslLocation.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1707 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1637 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4620 of file qrhigles2.cpp.
References enqueueResourceUpdates().
void QRhiGles2::sanityCheckVertexFragmentInterface | ( | const QShaderDescription & | vsDesc, |
const QShaderDescription & | fsDesc ) |
Definition at line 5300 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2136 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::BlendConstants, QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::recordingPass, and QGles2CommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4930 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::BindComputePipeline, QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::ComputePass, and QGles2CommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1903 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::BindGraphicsPipeline, QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::recordingPass, and QGles2CommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1789 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1702 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2118 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::recordingPass, QGles2CommandBuffer::RenderPass, and QGles2CommandBuffer::Command::Scissor.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1926 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::BindShaderResources, QRhiPassResourceTracker::BufStorageLoad, QRhiPassResourceTracker::BufStorageLoadStore, QRhiPassResourceTracker::BufStorageStore, QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::currentPassResTrackerIndex, QGles2ShaderResourceBindings::hasDynamicOffset, QGles2CommandBuffer::MAX_DYNAMIC_OFFSET_COUNT, QGles2CommandBuffer::NoPass, QGles2CommandBuffer::passNeedsResourceTracking, QGles2CommandBuffer::recordingPass, QRhiPassResourceTracker::TexSample, QRhiPassResourceTracker::TexStorageLoad, QRhiPassResourceTracker::TexStorageLoadStore, QRhiPassResourceTracker::TexStorageStore, trackedRegisterBuffer(), and trackedRegisterTexture().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2160 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2149 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::recordingPass, QGles2CommandBuffer::RenderPass, and QGles2CommandBuffer::Command::StencilRef.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2054 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::BindIndexBuffer, QGles2CommandBuffer::Command::BindVertexBuffer, QRhiPassResourceTracker::BufIndexRead, QRhiPassResourceTracker::BufVertexInput, QRhiPassResourceTracker::BufVertexInputStage, QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::currentPassResTrackerIndex, QGles2CommandBuffer::passNeedsResourceTracking, QGles2CommandBuffer::recordingPass, QGles2CommandBuffer::RenderPass, and trackedRegisterBuffer().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2098 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::recordingPass, QGles2CommandBuffer::RenderPass, and QGles2CommandBuffer::Command::Viewport.
QByteArray QRhiGles2::shaderSource | ( | const QRhiShaderStage & | shaderStage, |
QShaderVersion * | shaderVersion ) |
Definition at line 5069 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1687 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1249 of file qrhigles2.cpp.
Implements QRhiImplementation.
Definition at line 1259 of file qrhigles2.cpp.
void QRhiGles2::trackedBufferBarrier | ( | QGles2CommandBuffer * | cbD, |
QGles2Buffer * | bufD, | ||
QGles2Buffer::Access | access ) |
Definition at line 2479 of file qrhigles2.cpp.
References QGles2Buffer::UsageState::access, QGles2CommandBuffer::Command::Barrier, bufferAccessIsWrite(), QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::NoPass, QGles2CommandBuffer::recordingPass, and QGles2Buffer::usageState.
Referenced by enqueueResourceUpdates().
void QRhiGles2::trackedImageBarrier | ( | QGles2CommandBuffer * | cbD, |
QGles2Texture * | texD, | ||
QGles2Texture::Access | access ) |
Definition at line 2502 of file qrhigles2.cpp.
References QGles2Texture::UsageState::access, QGles2CommandBuffer::Command::Barrier, QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::NoPass, QGles2CommandBuffer::recordingPass, textureAccessIsWrite(), and QGles2Texture::usageState.
Referenced by enqueueResourceUpdates(), and enqueueSubresUpload().
void QRhiGles2::trackedRegisterBuffer | ( | QRhiPassResourceTracker * | passResTracker, |
QGles2Buffer * | bufD, | ||
QRhiPassResourceTracker::BufferAccess | access, | ||
QRhiPassResourceTracker::BufferStage | stage ) |
Definition at line 3131 of file qrhigles2.cpp.
References QGles2Buffer::UsageState::access, QRhiPassResourceTracker::registerBuffer(), toGlAccess(), toPassTrackerUsageState(), and QGles2Buffer::usageState.
Referenced by setShaderResources(), and setVertexInput().
void QRhiGles2::trackedRegisterTexture | ( | QRhiPassResourceTracker * | passResTracker, |
QGles2Texture * | texD, | ||
QRhiPassResourceTracker::TextureAccess | access, | ||
QRhiPassResourceTracker::TextureStage | stage ) |
Definition at line 3141 of file qrhigles2.cpp.
References QGles2Texture::UsageState::access, QRhiPassResourceTracker::registerTexture(), toGlAccess(), toPassTrackerUsageState(), and QGles2Texture::usageState.
Referenced by setShaderResources().
QRhiGles2::ProgramCacheResult QRhiGles2::tryLoadFromDiskOrPipelineCache | ( | const QRhiShaderStage * | stages, |
int | stageCount, | ||
GLuint | program, | ||
const QVector< QShaderDescription::InOutVariable > & | inputVars, | ||
QByteArray * | cacheKey ) |
Definition at line 5351 of file qrhigles2.cpp.
void QRhiGles2::trySaveToDiskCache | ( | GLuint | program, |
const QByteArray & | cacheKey ) |
Definition at line 5441 of file qrhigles2.cpp.
void QRhiGles2::trySaveToPipelineCache | ( | GLuint | program, |
const QByteArray & | cacheKey, | ||
bool | force = false ) |
Definition at line 5453 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1275 of file qrhigles2.cpp.
QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glCompressedTexImage1D | ) |
const GLvoid * QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glCompressedTexSubImage1D | ) |
const GLvoid * QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glCopyTexSubImage1D | ) |
const GLvoid const GLvoid * QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glFramebufferTexture1D | ) |
quint64 const GLchar * QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glFramebufferTexture2DMultisampleEXT | ) |
QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glFramebufferTextureMultisampleMultiviewOVR | ) |
QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glFramebufferTextureMultiviewOVR | ) |
QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glGetQueryObjectui64v | ) |
quint64 * QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glObjectLabel | ) |
QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glPolygonMode | ) |
QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glQueryCounter | ) |
QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glRenderbufferStorageMultisampleEXT | ) |
QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glTexImage1D | ) |
const void * QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glTexStorage1D | ) |
QRhiGles2::void | ( | QOPENGLF_APIENTRYP | glTexSubImage1D | ) |
struct QRhiGles2::Caps QRhiGles2::caps |
|
mutable |
Definition at line 1103 of file qrhigles2_p.h.
Referenced by create(), ensureContext(), and isDeviceLost().
QOpenGLContext* QRhiGles2::ctx = nullptr |
Definition at line 944 of file qrhigles2_p.h.
QGles2SwapChain* QRhiGles2::currentSwapChain = nullptr |
Definition at line 1098 of file qrhigles2_p.h.
Referenced by beginExternal(), beginFrame(), endFrame(), enqueueResourceUpdates(), and finish().
QRhiDriverInfo QRhiGles2::driverInfoStruct |
Definition at line 1102 of file qrhigles2_p.h.
QOpenGLExtensions* QRhiGles2::f = nullptr |
Definition at line 951 of file qrhigles2_p.h.
Referenced by beginExternal(), bindCombinedSampler(), bindShaderResources(), compileShader(), create(), destroy(), endFrame(), endOffscreenFrame(), executeBindGraphicsPipeline(), executeCommandBuffer(), executeDeferredReleases(), finish(), linkProgram(), and registerUniformIfActive().
QSurface* QRhiGles2::fallbackSurface = nullptr |
Definition at line 947 of file qrhigles2_p.h.
uint QRhiGles2::frameNo = 0 |
Definition at line 1104 of file qrhigles2_p.h.
Definition at line 952 of file qrhigles2_p.h.
Referenced by executeBindGraphicsPipeline().
const void QRhiGles2::GLenum |
Definition at line 955 of file qrhigles2_p.h.
const GLvoid QRhiGles2::GLenum |
Definition at line 962 of file qrhigles2_p.h.
Referenced by executeCommandBuffer().
const GLvoid const GLvoid QRhiGles2::GLenum |
Definition at line 964 of file qrhigles2_p.h.
Definition at line 971 of file qrhigles2_p.h.
const GLvoid QRhiGles2::GLint |
Definition at line 953 of file qrhigles2_p.h.
const void QRhiGles2::GLint |
Definition at line 955 of file qrhigles2_p.h.
const GLvoid QRhiGles2::GLint |
Definition at line 958 of file qrhigles2_p.h.
Referenced by executeCommandBuffer().
const GLvoid const GLvoid QRhiGles2::GLint = nullptr |
Definition at line 965 of file qrhigles2_p.h.
Definition at line 971 of file qrhigles2_p.h.
const GLvoid QRhiGles2::GLsizei = nullptr |
Definition at line 953 of file qrhigles2_p.h.
const void QRhiGles2::GLsizei = nullptr |
Definition at line 955 of file qrhigles2_p.h.
const GLvoid QRhiGles2::GLsizei = nullptr |
Definition at line 959 of file qrhigles2_p.h.
quint64 QRhiGles2::GLsizei |
Definition at line 970 of file qrhigles2_p.h.
Definition at line 971 of file qrhigles2_p.h.
const GLvoid const GLvoid QRhiGles2::GLuint |
Definition at line 964 of file qrhigles2_p.h.
QRhiGles2::GLuint |
Definition at line 966 of file qrhigles2_p.h.
quint64 QRhiGles2::GLuint |
Definition at line 970 of file qrhigles2_p.h.
Definition at line 971 of file qrhigles2_p.h.
bool QRhiGles2::importedContext = false |
Definition at line 945 of file qrhigles2_p.h.
Referenced by QRhiGles2(), create(), and destroy().
QHash<QByteArray, PipelineCacheData> QRhiGles2::m_pipelineCache |
Definition at line 1150 of file qrhigles2_p.h.
struct QRhiGles2::Scratch QRhiGles2::m_scratch |
QHash<QRhiShaderStage, uint> QRhiGles2::m_shaderCache |
Definition at line 1144 of file qrhigles2_p.h.
QOpenGLContext* QRhiGles2::maybeShareContext = nullptr |
Definition at line 949 of file qrhigles2_p.h.
Definition at line 948 of file qrhigles2_p.h.
QRhiGles2NativeHandles QRhiGles2::nativeHandlesStruct |
Definition at line 1101 of file qrhigles2_p.h.
|
mutable |
Definition at line 950 of file qrhigles2_p.h.
Referenced by endFrame(), and ensureContext().
struct QRhiGles2::OffscreenFrame QRhiGles2::ofr |
QList<DeferredReleaseEntry> QRhiGles2::releaseQueue |
Definition at line 1135 of file qrhigles2_p.h.
QSurfaceFormat QRhiGles2::requestedFormat |
Definition at line 946 of file qrhigles2_p.h.
QRhi::Flags QRhiGles2::rhiFlags |
Definition at line 943 of file qrhigles2_p.h.
Definition at line 1099 of file qrhigles2_p.h.
|
mutable |
Definition at line 1100 of file qrhigles2_p.h.
uint QRhiGles2::vao = 0 |
Definition at line 974 of file qrhigles2_p.h.