- work on separating DFrameBuffer from DCanvas.

2D works in D3D backend, but 3D crashes because not all pointers have been rerouted yet.
This commit is contained in:
Christoph Oelckers 2018-03-27 13:50:31 +02:00
commit bb9283a9af
18 changed files with 84 additions and 149 deletions

View file

@ -52,7 +52,7 @@ bool PolyTriangleDrawer::mirror;
void PolyTriangleDrawer::set_viewport(int x, int y, int width, int height, DCanvas *canvas)
{
dest = (uint8_t*)canvas->GetBuffer();
dest = (uint8_t*)canvas->GetPixels();
dest_width = canvas->GetWidth();
dest_height = canvas->GetHeight();
dest_pitch = canvas->GetPitch();
@ -554,7 +554,7 @@ void DrawRectCommand::Execute(DrawerThread *thread)
thread_data.num_cores = thread->num_cores;
auto renderTarget = PolyRenderer::Instance()->RenderTarget;
const void *destOrg = renderTarget->GetBuffer();
const void *destOrg = renderTarget->GetPixels();
int destWidth = renderTarget->GetWidth();
int destHeight = renderTarget->GetHeight();
int destPitch = renderTarget->GetPitch();

View file

@ -70,12 +70,14 @@ void PolyRenderer::RenderView(player_t *player)
RenderActorView(player->mo, false);
#if 0
// Apply special colormap if the target cannot do it
CameraLight *cameraLight = CameraLight::Instance();
if (cameraLight->ShaderColormap() && RenderTarget->IsBgra() && !(r_shadercolormaps && screen->Accel2D))
{
Threads.MainThread()->DrawQueue->Push<ApplySpecialColormapRGBACommand>(cameraLight->ShaderColormap(), screen);
}
#endif
Threads.MainThread()->FlushDrawQueue();
DrawerThreads::WaitForWorkers();