renderer: minor code clean++

This commit is contained in:
Hermet Park 2025-01-15 11:52:55 +09:00 committed by Hermet Park
parent 1c3b958d5b
commit 8f98681ea7
7 changed files with 11 additions and 20 deletions

View file

@ -1116,7 +1116,6 @@ bool GlRenderer::renderShape(RenderData data)
void GlRenderer::dispose(RenderData data)
{
auto sdata = static_cast<GlShape*>(data);
if (!sdata) return;
//dispose the non thread-safety resources on clearDisposes() call
if (sdata->texId) {

View file

@ -721,7 +721,6 @@ ColorSpace SwRenderer::colorSpace()
void SwRenderer::dispose(RenderData data)
{
auto task = static_cast<SwTask*>(data);
if (!task) return;
task->done();
task->dispose();

View file

@ -53,6 +53,8 @@ namespace tvg
Mask* maskData = nullptr;
Paint* clipper = nullptr;
RenderMethod* renderer = nullptr;
RenderData rd = nullptr;
struct {
Matrix m; //input matrix
Matrix cm; //multipled parents matrix
@ -91,8 +93,13 @@ namespace tvg
maskData->target->unref();
free(maskData);
}
if (clipper) clipper->unref();
if (renderer && (renderer->unref() == 0)) delete(renderer);
if (renderer) {
if (rd) renderer->dispose(rd);
if (renderer->unref() == 0) delete(renderer);
}
}
uint8_t ref()

View file

@ -60,7 +60,6 @@ struct Picture::Impl : Paint::Impl
ImageLoader* loader = nullptr;
Paint* vector = nullptr; //vector picture uses
RenderSurface* bitmap = nullptr; //bitmap picture uses
RenderData rd = nullptr;
float w = 0, h = 0;
uint8_t compFlag = CompositionFlag::Invalid;
bool resizing = false;
@ -72,7 +71,6 @@ struct Picture::Impl : Paint::Impl
~Impl()
{
LoaderMgr::retrieve(loader);
if (bitmap && renderer) renderer->dispose(rd);
delete(vector);
}
@ -96,7 +94,7 @@ struct Picture::Impl : Paint::Impl
resizing = false;
}
queryComposition(opacity);
rd = vector->pImpl->update(renderer, transform, clips, opacity, flag, false);
return vector->pImpl->update(renderer, transform, clips, opacity, flag, false);
}
return rd;
}

View file

@ -62,7 +62,6 @@ struct SceneIterator : Iterator
struct Scene::Impl : Paint::Impl
{
list<Paint*> paints; //children list
RenderData rd = nullptr;
RenderRegion vport = {0, 0, INT32_MAX, INT32_MAX};
Array<RenderEffect*>* effects = nullptr;
uint8_t compFlag = CompositionFlag::Invalid;
@ -77,8 +76,6 @@ struct Scene::Impl : Paint::Impl
resetEffects();
clearPaints();
if (renderer) renderer->dispose(rd);
}
uint8_t needComposition(uint8_t opacity)

View file

@ -32,7 +32,6 @@
struct Shape::Impl : Paint::Impl
{
RenderShape rs;
RenderData rd = nullptr;
uint8_t compFlag = CompositionFlag::Invalid;
uint8_t opacity; //for composition
@ -40,11 +39,6 @@ struct Shape::Impl : Paint::Impl
{
}
~Impl()
{
if (renderer) renderer->dispose(rd);
}
bool render(RenderMethod* renderer)
{
if (!rd) return false;

View file

@ -188,11 +188,8 @@ bool WgRenderer::postRender()
void WgRenderer::dispose(RenderData data) {
if (!mContext.queue) return;
auto renderData = (WgRenderDataPaint*)data;
if (renderData) {
ScopedLock lock(mDisposeKey);
mDisposeRenderDatas.push(data);
}
ScopedLock lock(mDisposeKey);
mDisposeRenderDatas.push(data);
}