![]() |
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 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 const int | MAX_SHADER_CACHE_ENTRIES = 128 |
Definition at line 765 of file qrhigles2_p.h.
using QRhiGles2::ActiveUniformLocationTracker = QDuplicateTracker<int, 32> |
Definition at line 913 of file qrhigles2_p.h.
Enumerator | |
---|---|
ProgramCacheHit | |
ProgramCacheMiss | |
ProgramCacheError |
Definition at line 929 of file qrhigles2_p.h.
QRhiGles2::QRhiGles2 | ( | QRhiGles2InitParams * | params, |
QRhiGles2NativeHandles * | importDevice = nullptr ) |
Definition at line 635 of file qrhigles2.cpp.
References QRhiGles2(), and importedContext.
Referenced by QRhiGles2().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4894 of file qrhigles2.cpp.
References QGles2CommandBuffer::ComputePass, enqueueBarriersForPass(), enqueueResourceUpdates(), QGles2CommandBuffer::NoPass, QGles2CommandBuffer::recordingPass, and QGles2CommandBuffer::resetCachedState().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2233 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 2296 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::BeginFrame, currentSwapChain, QGles2SwapChain::currentTimestampPairIndex, and executeDeferredReleases().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2359 of file qrhigles2.cpp.
References executeDeferredReleases().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4701 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 4184 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 4237 of file qrhigles2.cpp.
References f, QGles2ComputePipeline::uniformState, and QGles2GraphicsPipeline::uniformState.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1298 of file qrhigles2.cpp.
bool QRhiGles2::compileShader | ( | GLuint | program, |
const QRhiShaderStage & | shaderStage, | ||
QShaderVersion * | shaderVersion ) |
Definition at line 5127 of file qrhigles2.cpp.
References f.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 763 of file qrhigles2.cpp.
References contextLost, f, and importedContext.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1271 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1892 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1882 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1850 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1864 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1887 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1871 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1266 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1857 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1876 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2191 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2200 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2208 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1189 of file qrhigles2.cpp.
References executeDeferredReleases(), f, and importedContext.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4965 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 2160 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::Command::Draw, QGles2CommandBuffer::recordingPass, and QGles2CommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2175 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::Command::DrawIndexed, QGles2CommandBuffer::recordingPass, and QGles2CommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1676 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4911 of file qrhigles2.cpp.
References QGles2CommandBuffer::ComputePass, enqueueResourceUpdates(), QGles2CommandBuffer::NoPass, and QGles2CommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2269 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 2325 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 4748 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 4692 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 4619 of file qrhigles2.cpp.
void QRhiGles2::enqueueResourceUpdates | ( | QRhiCommandBuffer * | cb, |
QRhiResourceUpdateBatch * | resourceUpdates ) |
Definition at line 2651 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 2515 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 680 of file qrhigles2.cpp.
References contextLost, and needsMakeCurrentDueToSwap.
QSurface * QRhiGles2::evaluateFallbackSurface | ( | ) | const |
Definition at line 668 of file qrhigles2.cpp.
void QRhiGles2::executeBindGraphicsPipeline | ( | QGles2CommandBuffer * | cbD, |
QGles2GraphicsPipeline * | psD ) |
Definition at line 3973 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 3179 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 1220 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 2412 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 5278 of file qrhigles2.cpp.
void QRhiGles2::gatherSamplers | ( | GLuint | program, |
const QShaderDescription::InOutVariable & | v, | ||
QGles2SamplerDescriptionVector * | dst ) |
Definition at line 5264 of file qrhigles2.cpp.
void QRhiGles2::gatherUniforms | ( | GLuint | program, |
const QShaderDescription::UniformBlock & | ub, | ||
ActiveUniformLocationTracker * | activeUniformLocations, | ||
QGles2UniformDescriptionVector * | dst ) |
Definition at line 5227 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1293 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1714 of file qrhigles2.cpp.
References contextLost.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1528 of file qrhigles2.cpp.
bool QRhiGles2::isProgramBinaryDiskCacheEnabled | ( | ) | const |
Definition at line 5315 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1468 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1283 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1288 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2290 of file qrhigles2.cpp.
References QGles2CommandBuffer::lastGpuTime.
bool QRhiGles2::linkProgram | ( | GLuint | program | ) |
Definition at line 5171 of file qrhigles2.cpp.
References f.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1688 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1671 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2217 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1728 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 5191 of file qrhigles2.cpp.
References QGles2UniformDescription::arrayDim, QGles2UniformDescription::binding, f, and QGles2UniformDescription::glslLocation.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1701 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1631 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4612 of file qrhigles2.cpp.
References enqueueResourceUpdates().
void QRhiGles2::sanityCheckVertexFragmentInterface | ( | const QShaderDescription & | vsDesc, |
const QShaderDescription & | fsDesc ) |
Definition at line 5292 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2130 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::BlendConstants, QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::recordingPass, and QGles2CommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4922 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::BindComputePipeline, QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::ComputePass, and QGles2CommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1897 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::BindGraphicsPipeline, QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::recordingPass, and QGles2CommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1783 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1696 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2112 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::recordingPass, QGles2CommandBuffer::RenderPass, and QGles2CommandBuffer::Command::Scissor.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1920 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 2154 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2143 of file qrhigles2.cpp.
References QGles2CommandBuffer::Command::cmd, QGles2CommandBuffer::recordingPass, QGles2CommandBuffer::RenderPass, and QGles2CommandBuffer::Command::StencilRef.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2048 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 2092 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 5061 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1681 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1250 of file qrhigles2.cpp.
Implements QRhiImplementation.
Definition at line 1260 of file qrhigles2.cpp.
void QRhiGles2::trackedBufferBarrier | ( | QGles2CommandBuffer * | cbD, |
QGles2Buffer * | bufD, | ||
QGles2Buffer::Access | access ) |
Definition at line 2473 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 2496 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 3125 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 3135 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 5343 of file qrhigles2.cpp.
void QRhiGles2::trySaveToDiskCache | ( | GLuint | program, |
const QByteArray & | cacheKey ) |
Definition at line 5433 of file qrhigles2.cpp.
void QRhiGles2::trySaveToPipelineCache | ( | GLuint | program, |
const QByteArray & | cacheKey, | ||
bool | force = false ) |
Definition at line 5445 of file qrhigles2.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1276 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 1102 of file qrhigles2_p.h.
Referenced by create(), ensureContext(), and isDeviceLost().
QOpenGLContext* QRhiGles2::ctx = nullptr |
Definition at line 943 of file qrhigles2_p.h.
QGles2SwapChain* QRhiGles2::currentSwapChain = nullptr |
Definition at line 1097 of file qrhigles2_p.h.
Referenced by beginExternal(), beginFrame(), endFrame(), enqueueResourceUpdates(), and finish().
QRhiDriverInfo QRhiGles2::driverInfoStruct |
Definition at line 1101 of file qrhigles2_p.h.
QOpenGLExtensions* QRhiGles2::f = nullptr |
Definition at line 950 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 946 of file qrhigles2_p.h.
uint QRhiGles2::frameNo = 0 |
Definition at line 1103 of file qrhigles2_p.h.
Definition at line 951 of file qrhigles2_p.h.
Referenced by executeBindGraphicsPipeline().
const void QRhiGles2::GLenum |
Definition at line 954 of file qrhigles2_p.h.
const GLvoid QRhiGles2::GLenum |
Definition at line 961 of file qrhigles2_p.h.
Referenced by executeCommandBuffer().
const GLvoid const GLvoid QRhiGles2::GLenum |
Definition at line 963 of file qrhigles2_p.h.
Definition at line 970 of file qrhigles2_p.h.
const GLvoid QRhiGles2::GLint |
Definition at line 952 of file qrhigles2_p.h.
const void QRhiGles2::GLint |
Definition at line 954 of file qrhigles2_p.h.
const GLvoid QRhiGles2::GLint |
Definition at line 957 of file qrhigles2_p.h.
Referenced by executeCommandBuffer().
const GLvoid const GLvoid QRhiGles2::GLint = nullptr |
Definition at line 964 of file qrhigles2_p.h.
Definition at line 970 of file qrhigles2_p.h.
const GLvoid QRhiGles2::GLsizei = nullptr |
Definition at line 952 of file qrhigles2_p.h.
const void QRhiGles2::GLsizei = nullptr |
Definition at line 954 of file qrhigles2_p.h.
const GLvoid QRhiGles2::GLsizei = nullptr |
Definition at line 958 of file qrhigles2_p.h.
quint64 QRhiGles2::GLsizei |
Definition at line 969 of file qrhigles2_p.h.
Definition at line 970 of file qrhigles2_p.h.
const GLvoid const GLvoid QRhiGles2::GLuint |
Definition at line 963 of file qrhigles2_p.h.
QRhiGles2::GLuint |
Definition at line 965 of file qrhigles2_p.h.
quint64 QRhiGles2::GLuint |
Definition at line 969 of file qrhigles2_p.h.
Definition at line 970 of file qrhigles2_p.h.
bool QRhiGles2::importedContext = false |
Definition at line 944 of file qrhigles2_p.h.
Referenced by QRhiGles2(), create(), and destroy().
QHash<QByteArray, PipelineCacheData> QRhiGles2::m_pipelineCache |
Definition at line 1149 of file qrhigles2_p.h.
struct QRhiGles2::Scratch QRhiGles2::m_scratch |
QHash<QRhiShaderStage, uint> QRhiGles2::m_shaderCache |
Definition at line 1143 of file qrhigles2_p.h.
QOpenGLContext* QRhiGles2::maybeShareContext = nullptr |
Definition at line 948 of file qrhigles2_p.h.
Definition at line 947 of file qrhigles2_p.h.
QRhiGles2NativeHandles QRhiGles2::nativeHandlesStruct |
Definition at line 1100 of file qrhigles2_p.h.
|
mutable |
Definition at line 949 of file qrhigles2_p.h.
Referenced by endFrame(), and ensureContext().
struct QRhiGles2::OffscreenFrame QRhiGles2::ofr |
QList<DeferredReleaseEntry> QRhiGles2::releaseQueue |
Definition at line 1134 of file qrhigles2_p.h.
QSurfaceFormat QRhiGles2::requestedFormat |
Definition at line 945 of file qrhigles2_p.h.
QRhi::Flags QRhiGles2::rhiFlags |
Definition at line 942 of file qrhigles2_p.h.
Definition at line 1098 of file qrhigles2_p.h.
|
mutable |
Definition at line 1099 of file qrhigles2_p.h.
uint QRhiGles2::vao = 0 |
Definition at line 973 of file qrhigles2_p.h.