Refactoring - rename resetPoolExpiry to requestResidency
This commit is contained in:
@@ -150,7 +150,7 @@ void KRCamera::preStream(const KRViewport& viewport)
|
||||
m_skyBox.bind(&getContext());
|
||||
|
||||
if (m_skyBox.isBound()) {
|
||||
m_skyBox.get()->resetPoolExpiry(0.0f, KRTexture::TEXTURE_USAGE_SKY_CUBE);
|
||||
m_skyBox.get()->requestResidency(0.0f, KRTexture::TEXTURE_USAGE_SKY_CUBE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -625,7 +625,7 @@ void KRCamera::renderDebug(RenderInfo& ri)
|
||||
|
||||
|
||||
KRTexture* fontTexture = m_pContext->getTextureManager()->getTexture("font");
|
||||
fontTexture->resetPoolExpiry(0.0f, KRTexture::TEXTURE_USAGE_UI);
|
||||
fontTexture->requestResidency(0.0f, KRTexture::TEXTURE_USAGE_UI);
|
||||
if (fontTexture->getStreamLevel(KRTexture::TEXTURE_USAGE_UI) != kraken_stream_level::STREAM_LEVEL_OUT) {
|
||||
|
||||
PipelineInfo info{};
|
||||
|
||||
@@ -396,7 +396,7 @@ void KRLight::render(RenderInfo& ri)
|
||||
m_flareTexture.bind(&getContext());
|
||||
|
||||
if (m_flareTexture.isBound()) {
|
||||
m_flareTexture.get()->resetPoolExpiry(0.0f, KRTexture::TEXTURE_USAGE_LIGHT_FLARE);
|
||||
m_flareTexture.get()->requestResidency(0.0f, KRTexture::TEXTURE_USAGE_LIGHT_FLARE);
|
||||
KRMeshManager::KRVBOData& vertices = getContext().getMeshManager()->KRENGINE_VBO_DATA_2D_SQUARE_VERTICES;
|
||||
|
||||
// Render light flare on transparency pass
|
||||
|
||||
@@ -294,7 +294,7 @@ void KRModel::render(KRNode::RenderInfo& ri)
|
||||
|
||||
|
||||
if (m_lightMap.isBound() && ri.camera->settings.bEnableLightMap && ri.renderPass->getType() != RENDER_PASS_SHADOWMAP && ri.renderPass->getType() != RENDER_PASS_SHADOWMAP) {
|
||||
m_lightMap.get()->resetPoolExpiry(lod_coverage, KRTexture::TEXTURE_USAGE_LIGHT_MAP);
|
||||
m_lightMap.get()->requestResidency(lod_coverage, KRTexture::TEXTURE_USAGE_LIGHT_MAP);
|
||||
// TODO - Vulkan refactoring. We need to bind the shadow map in KRMesh::Render
|
||||
// m_pContext->getTextureManager()->selectTexture(5, m_pLightMap, lod_coverage, KRTexture::TEXTURE_USAGE_LIGHT_MAP);
|
||||
}
|
||||
@@ -316,7 +316,6 @@ void KRModel::render(KRNode::RenderInfo& ri)
|
||||
void KRModel::preStream(const KRViewport& viewport)
|
||||
{
|
||||
KRNode::preStream(viewport);
|
||||
m_lightMap.bind(&getContext());
|
||||
loadModel();
|
||||
float lod_coverage = viewport.coverage(getBounds());
|
||||
|
||||
@@ -329,7 +328,7 @@ void KRModel::preStream(const KRViewport& viewport)
|
||||
m_lightMap.bind(&getContext());
|
||||
|
||||
if (m_lightMap.isBound()) {
|
||||
m_lightMap.get()->resetPoolExpiry(lod_coverage, KRTexture::TEXTURE_USAGE_LIGHT_MAP);
|
||||
m_lightMap.get()->requestResidency(lod_coverage, KRTexture::TEXTURE_USAGE_LIGHT_MAP);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ void KRSprite::preStream(const KRViewport& viewport)
|
||||
m_spriteTexture.bind(&getContext());
|
||||
|
||||
if (m_spriteTexture.isBound()) {
|
||||
m_spriteTexture.get()->resetPoolExpiry(0.0f, KRTexture::TEXTURE_USAGE_SPRITE);
|
||||
m_spriteTexture.get()->requestResidency(0.0f, KRTexture::TEXTURE_USAGE_SPRITE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -233,27 +233,27 @@ void KRMaterial::preStream(float lodCoverage)
|
||||
getTextures();
|
||||
|
||||
if (m_ambientMap.isBound()) {
|
||||
m_ambientMap.get()->resetPoolExpiry(lodCoverage, KRTexture::TEXTURE_USAGE_AMBIENT_MAP);
|
||||
m_ambientMap.get()->requestResidency(lodCoverage, KRTexture::TEXTURE_USAGE_AMBIENT_MAP);
|
||||
}
|
||||
|
||||
if (m_diffuseMap.isBound()) {
|
||||
m_diffuseMap.get()->resetPoolExpiry(lodCoverage, KRTexture::TEXTURE_USAGE_DIFFUSE_MAP);
|
||||
m_diffuseMap.get()->requestResidency(lodCoverage, KRTexture::TEXTURE_USAGE_DIFFUSE_MAP);
|
||||
}
|
||||
|
||||
if (m_normalMap.isBound()) {
|
||||
m_normalMap.get()->resetPoolExpiry(lodCoverage, KRTexture::TEXTURE_USAGE_NORMAL_MAP);
|
||||
m_normalMap.get()->requestResidency(lodCoverage, KRTexture::TEXTURE_USAGE_NORMAL_MAP);
|
||||
}
|
||||
|
||||
if (m_specularMap.isBound()) {
|
||||
m_specularMap.get()->resetPoolExpiry(lodCoverage, KRTexture::TEXTURE_USAGE_SPECULAR_MAP);
|
||||
m_specularMap.get()->requestResidency(lodCoverage, KRTexture::TEXTURE_USAGE_SPECULAR_MAP);
|
||||
}
|
||||
|
||||
if (m_reflectionMap.isBound()) {
|
||||
m_reflectionMap.get()->resetPoolExpiry(lodCoverage, KRTexture::TEXTURE_USAGE_REFLECTION_MAP);
|
||||
m_reflectionMap.get()->requestResidency(lodCoverage, KRTexture::TEXTURE_USAGE_REFLECTION_MAP);
|
||||
}
|
||||
|
||||
if (m_reflectionCube.isBound()) {
|
||||
m_reflectionCube.get()->resetPoolExpiry(lodCoverage, KRTexture::TEXTURE_USAGE_REFECTION_CUBE);
|
||||
m_reflectionCube.get()->requestResidency(lodCoverage, KRTexture::TEXTURE_USAGE_REFECTION_CUBE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -384,27 +384,27 @@ void KRMaterial::bind(KRNode::RenderInfo& ri, ModelFormat modelFormat, __uint32_
|
||||
}
|
||||
|
||||
if (bDiffuseMap) {
|
||||
m_diffuseMap.get()->resetPoolExpiry(lod_coverage, KRTexture::TEXTURE_USAGE_DIFFUSE_MAP);
|
||||
m_diffuseMap.get()->requestResidency(lod_coverage, KRTexture::TEXTURE_USAGE_DIFFUSE_MAP);
|
||||
pShader->setImageBinding("diffuseTexture", m_diffuseMap.get(), getContext().getSamplerManager()->DEFAULT_WRAPPING_SAMPLER);
|
||||
}
|
||||
|
||||
if (bSpecMap) {
|
||||
m_specularMap.get()->resetPoolExpiry(lod_coverage, KRTexture::TEXTURE_USAGE_SPECULAR_MAP);
|
||||
m_specularMap.get()->requestResidency(lod_coverage, KRTexture::TEXTURE_USAGE_SPECULAR_MAP);
|
||||
pShader->setImageBinding("specularTexture", m_specularMap.get(), getContext().getSamplerManager()->DEFAULT_WRAPPING_SAMPLER);
|
||||
}
|
||||
|
||||
if (bNormalMap) {
|
||||
m_normalMap.get()->resetPoolExpiry(lod_coverage, KRTexture::TEXTURE_USAGE_NORMAL_MAP);
|
||||
m_normalMap.get()->requestResidency(lod_coverage, KRTexture::TEXTURE_USAGE_NORMAL_MAP);
|
||||
pShader->setImageBinding("normalTexture", m_normalMap.get(), getContext().getSamplerManager()->DEFAULT_WRAPPING_SAMPLER);
|
||||
}
|
||||
|
||||
if (bReflectionCubeMap) {
|
||||
m_reflectionCube.get()->resetPoolExpiry(lod_coverage, KRTexture::TEXTURE_USAGE_REFECTION_CUBE);
|
||||
m_reflectionCube.get()->requestResidency(lod_coverage, KRTexture::TEXTURE_USAGE_REFECTION_CUBE);
|
||||
pShader->setImageBinding("reflectionCubeTexture", m_reflectionCube.get(), getContext().getSamplerManager()->DEFAULT_CLAMPED_SAMPLER);
|
||||
}
|
||||
|
||||
if (bReflectionMap) {
|
||||
m_reflectionMap.get()->resetPoolExpiry(lod_coverage, KRTexture::TEXTURE_USAGE_REFLECTION_MAP);
|
||||
m_reflectionMap.get()->requestResidency(lod_coverage, KRTexture::TEXTURE_USAGE_REFLECTION_MAP);
|
||||
pShader->setImageBinding("reflectionTexture", m_reflectionMap.get(), getContext().getSamplerManager()->DEFAULT_CLAMPED_SAMPLER);
|
||||
}
|
||||
|
||||
|
||||
@@ -198,7 +198,7 @@ void KRMesh::preStream(float lodCoverage)
|
||||
|
||||
for (Submesh& mesh : m_submeshes) {
|
||||
for (shared_ptr<KRMeshManager::KRVBOData>& vbo : mesh.vbo_data_blocks) {
|
||||
vbo->resetPoolExpiry(lodCoverage);
|
||||
vbo->requestResidency(lodCoverage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,7 +171,7 @@ unordered_map<std::string, KRMesh*>& KRMeshManager::getMeshes()
|
||||
|
||||
void KRMeshManager::bindVBO(VkCommandBuffer& commandBuffer, KRVBOData* vbo_data, float lodCoverage)
|
||||
{
|
||||
vbo_data->resetPoolExpiry(lodCoverage);
|
||||
vbo_data->requestResidency(lodCoverage);
|
||||
|
||||
bool vbo_changed = false;
|
||||
if (m_currentVBO == NULL) {
|
||||
@@ -632,7 +632,7 @@ void KRMeshManager::KRVBOData::bind(VkCommandBuffer& commandBuffer)
|
||||
}
|
||||
}
|
||||
|
||||
void KRMeshManager::KRVBOData::resetPoolExpiry(float lodCoverage)
|
||||
void KRMeshManager::KRVBOData::requestResidency(float lodCoverage)
|
||||
{
|
||||
long current_frame = m_manager->getContext().getCurrentFrame();
|
||||
if (current_frame != m_last_frame_used) {
|
||||
|
||||
@@ -123,7 +123,7 @@ public:
|
||||
return (long)m_size;
|
||||
}
|
||||
|
||||
void resetPoolExpiry(float lodCoverage);
|
||||
void requestResidency(float lodCoverage);
|
||||
long getLastFrameUsed()
|
||||
{
|
||||
return m_last_frame_used;
|
||||
|
||||
@@ -146,7 +146,7 @@ void KRTexture::resize(int max_dim)
|
||||
m_handle_lock.clear();
|
||||
}
|
||||
|
||||
void KRTexture::resetPoolExpiry(float lodCoverage, KRTexture::texture_usage_t textureUsage)
|
||||
void KRTexture::requestResidency(float lodCoverage, KRTexture::texture_usage_t textureUsage)
|
||||
{
|
||||
long current_frame = getContext().getCurrentFrame();
|
||||
if (current_frame != m_last_frame_used) {
|
||||
|
||||
@@ -77,7 +77,7 @@ public:
|
||||
|
||||
float getStreamPriority();
|
||||
|
||||
virtual void resetPoolExpiry(float lodCoverage, texture_usage_t textureUsage);
|
||||
virtual void requestResidency(float lodCoverage, texture_usage_t textureUsage);
|
||||
virtual bool isAnimated();
|
||||
|
||||
virtual KRTexture* compress(bool premultiply_alpha = false);
|
||||
|
||||
@@ -91,13 +91,13 @@ long KRTextureAnimated::getMemRequiredForSize(int max_dim)
|
||||
}
|
||||
|
||||
|
||||
void KRTextureAnimated::resetPoolExpiry(float lodCoverage, texture_usage_t textureUsage)
|
||||
void KRTextureAnimated::requestResidency(float lodCoverage, texture_usage_t textureUsage)
|
||||
{
|
||||
KRTexture::resetPoolExpiry(lodCoverage, textureUsage);
|
||||
KRTexture::requestResidency(lodCoverage, textureUsage);
|
||||
for (int i = 0; i < m_frame_count; i++) {
|
||||
KRTexture2D* frame_texture = textureForFrame(i);
|
||||
if (frame_texture) {
|
||||
frame_texture->resetPoolExpiry(lodCoverage, textureUsage); // Ensure that frames of animated textures do not expire from the texture pool prematurely, as they are referenced indirectly
|
||||
frame_texture->requestResidency(lodCoverage, textureUsage); // Ensure that frames of animated textures do not expire from the texture pool prematurely, as they are referenced indirectly
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -106,7 +106,7 @@ void KRTextureAnimated::resetPoolExpiry(float lodCoverage, texture_usage_t textu
|
||||
/*
|
||||
void KRTextureAnimated::bind(int texture_unit)
|
||||
{
|
||||
resetPoolExpiry(0.0f, TEXTURE_USAGE_NONE); // TODO - Need to set parameters here for streaming priority?
|
||||
requestResidency(0.0f, TEXTURE_USAGE_NONE); // TODO - Need to set parameters here for streaming priority?
|
||||
KRTexture::bind(texture_unit);
|
||||
int frame_number = (int)floor(fmodf(getContext().getAbsoluteTime() * m_frame_rate, (float)m_frame_count));
|
||||
KRTexture2D* frame_texture = textureForFrame(frame_number);
|
||||
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
virtual bool save(Block& data) override;
|
||||
|
||||
virtual long getMemRequiredForSize(int max_dim) override;
|
||||
virtual void resetPoolExpiry(float lodCoverage, texture_usage_t textureUsage) override;
|
||||
virtual void requestResidency(float lodCoverage, texture_usage_t textureUsage) override;
|
||||
|
||||
virtual long getReferencedMemSize() override;
|
||||
|
||||
|
||||
@@ -50,4 +50,4 @@ bool KRTextureBinding::bind(KRContext* context)
|
||||
m_resource = context->getTextureManager()->getTexture(m_name);
|
||||
|
||||
return (m_resource != nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -146,12 +146,12 @@ long KRTextureCube::getMemRequiredForSize(int max_dim)
|
||||
}
|
||||
|
||||
|
||||
void KRTextureCube::resetPoolExpiry(float lodCoverage, texture_usage_t textureUsage)
|
||||
void KRTextureCube::requestResidency(float lodCoverage, texture_usage_t textureUsage)
|
||||
{
|
||||
KRTexture::resetPoolExpiry(lodCoverage, textureUsage);
|
||||
KRTexture::requestResidency(lodCoverage, textureUsage);
|
||||
for(int i=0; i<6; i++) {
|
||||
if(m_textures[i]) {
|
||||
m_textures[i]->resetPoolExpiry(lodCoverage, textureUsage); // Ensure that side of cube maps do not expire from the texture pool prematurely, as they are referenced indirectly
|
||||
m_textures[i]->requestResidency(lodCoverage, textureUsage); // Ensure that side of cube maps do not expire from the texture pool prematurely, as they are referenced indirectly
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ public:
|
||||
virtual bool save(mimir::Block& data) override;
|
||||
|
||||
virtual long getMemRequiredForSize(int max_dim) override;
|
||||
virtual void resetPoolExpiry(float lodCoverage, texture_usage_t textureUsage) override;
|
||||
virtual void requestResidency(float lodCoverage, texture_usage_t textureUsage) override;
|
||||
virtual int getFaceCount() const override;
|
||||
virtual VkFormat getFormat() const override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user