Showing the changes to libraries/render-utils/src/RenderDeferredTask.cpp (1 of 43 files). Show all
Unified · Split
| @@ -92,7 +92,7 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 91 unmodified lines | |||
| 92 | 92 | ||
| 93 | fadeEffect->build(task, opaques); | 93 | fadeEffect->build(task, opaques); |
| 94 | 94 | ||
| 95 | const auto jitterBuffer = task.addJob<JitterSample>("JitterCam"); | 95 | task.addJob<JitterSample>("JitterCam"); |
| 96 | 96 | ||
| 97 | // Prepare deferred, generate the shared Deferred Frame Transform | 97 | // Prepare deferred, generate the shared Deferred Frame Transform |
| 98 | const auto deferredFrameTransform = task.addJob<GenerateDeferredFrameTransform>("DeferredFrameTransform"); | 98 | const auto deferredFrameTransform = task.addJob<GenerateDeferredFrameTransform>("DeferredFrameTransform"); |
| @@ -238,6 +238,10 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 139 unmodified lines | |||
| 238 | task.addJob<DrawBounds>("DrawOverlayInFrontTransparentBounds", overlaysInFrontTransparent); | 238 | task.addJob<DrawBounds>("DrawOverlayInFrontTransparentBounds", overlaysInFrontTransparent); |
| 239 | } | 239 | } |
| 240 | 240 | ||
| 241 | // AA job to be revisited | ||
| 242 | const auto antialiasingInputs = Antialiasing::Inputs(deferredFrameTransform, primaryFramebuffer, linearDepthTarget, velocityBuffer).asVarying(); | ||
| 243 | task.addJob<Antialiasing>("Antialiasing", antialiasingInputs); | ||
| 244 | |||
| 241 | // Debugging stages | 245 | // Debugging stages |
| 242 | { | 246 | { |
| 243 | // Debugging Deferred buffer job | 247 | // Debugging Deferred buffer job |
| @@ -268,11 +272,6 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 24 unmodified lines | |||
| 268 | task.addJob<DebugZoneLighting>("DrawZoneStack", deferredFrameTransform); | 272 | task.addJob<DebugZoneLighting>("DrawZoneStack", deferredFrameTransform); |
| 269 | } | 273 | } |
| 270 | 274 | ||
| 271 | // AA job to be revisited | ||
| 272 | const auto antialiasingInputs = Antialiasing::Inputs(deferredFrameTransform, jitterBuffer, primaryFramebuffer, linearDepthTarget, velocityBuffer).asVarying(); | ||
| 273 | |||
| 274 | task.addJob<Antialiasing>("Antialiasing", antialiasingInputs); | ||
| 275 | |||
| 276 | // Composite the HUD and HUD overlays | 275 | // Composite the HUD and HUD overlays |
| 277 | task.addJob<CompositeHUD>("HUD"); | 276 | task.addJob<CompositeHUD>("HUD"); |
| 278 | 277 | ||
| @@ -297,13 +296,13 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 18 unmodified lines | |||
| 297 | 296 | ||
| 298 | void BeginGPURangeTimer::run(const render::RenderContextPointer& renderContext, gpu::RangeTimerPointer& timer) { | 297 | void BeginGPURangeTimer::run(const render::RenderContextPointer& renderContext, gpu::RangeTimerPointer& timer) { |
| 299 | timer = _gpuTimer; | 298 | timer = _gpuTimer; |
| 300 | gpu::doInBatch(renderContext->args->_context, [&](gpu::Batch& batch) { | 299 | gpu::doInBatch("BeginGPURangeTimer::run", renderContext->args->_context, [&](gpu::Batch& batch) { |
| 301 | _gpuTimer->begin(batch); | 300 | _gpuTimer->begin(batch); |
| 302 | }); | 301 | }); |
| 303 | } | 302 | } |
| 304 | 303 | ||
| 305 | void EndGPURangeTimer::run(const render::RenderContextPointer& renderContext, const gpu::RangeTimerPointer& timer) { | 304 | void EndGPURangeTimer::run(const render::RenderContextPointer& renderContext, const gpu::RangeTimerPointer& timer) { |
| 306 | gpu::doInBatch(renderContext->args->_context, [&](gpu::Batch& batch) { | 305 | gpu::doInBatch("EndGPURangeTimer::run", renderContext->args->_context, [&](gpu::Batch& batch) { |
| 307 | timer->end(batch); | 306 | timer->end(batch); |
| 308 | }); | 307 | }); |
| 309 | 308 | ||
| @@ -323,7 +322,7 @@ void DrawDeferred::run(const RenderContextPointer& renderContext, const Inputs& · 13 unmodified lines | |||
| 323 | 322 | ||
| 324 | RenderArgs* args = renderContext->args; | 323 | RenderArgs* args = renderContext->args; |
| 325 | 324 | ||
| 326 | gpu::doInBatch(args->_context, [&](gpu::Batch& batch) { | 325 | gpu::doInBatch("DrawDeferred::run", args->_context, [&](gpu::Batch& batch) { |
| 327 | args->_batch = &batch; | 326 | args->_batch = &batch; |
| 328 | 327 | ||
| 329 | // Setup camera, projection and viewport for all items | 328 | // Setup camera, projection and viewport for all items |
| @@ -370,7 +369,7 @@ void DrawStateSortDeferred::run(const RenderContextPointer& renderContext, const · 40 unmodified lines | |||
| 370 | 369 | ||
| 371 | RenderArgs* args = renderContext->args; | 370 | RenderArgs* args = renderContext->args; |
| 372 | 371 | ||
| 373 | gpu::doInBatch(args->_context, [&](gpu::Batch& batch) { | 372 | gpu::doInBatch("DrawStateSortDeferred::run", args->_context, [&](gpu::Batch& batch) { |
| 374 | args->_batch = &batch; | 373 | args->_batch = &batch; |
| 375 | 374 | ||
| 376 | // Setup camera, projection and viewport for all items | 375 | // Setup camera, projection and viewport for all items |
| @@ -434,14 +433,14 @@ void DrawOverlay3D::run(const RenderContextPointer& renderContext, const Inputs& · 57 unmodified lines | |||
| 434 | // Needs to be distinct from the other batch because using the clear call | 433 | // Needs to be distinct from the other batch because using the clear call |
| 435 | // while stereo is enabled triggers a warning | 434 | // while stereo is enabled triggers a warning |
| 436 | if (_opaquePass) { | 435 | if (_opaquePass) { |
| 437 | gpu::doInBatch(args->_context, [&](gpu::Batch& batch){ | 436 | gpu::doInBatch("DrawOverlay3D::run::clear", args->_context, [&](gpu::Batch& batch){ |
| 438 | batch.enableStereo(false); | 437 | batch.enableStereo(false); |
| 439 | batch.clearFramebuffer(gpu::Framebuffer::BUFFER_DEPTH, glm::vec4(), 1.f, 0, false); | 438 | batch.clearFramebuffer(gpu::Framebuffer::BUFFER_DEPTH, glm::vec4(), 1.f, 0, false); |
| 440 | }); | 439 | }); |
| 441 | } | 440 | } |
| 442 | 441 | ||
| 443 | // Render the items | 442 | // Render the items |
| 444 | gpu::doInBatch(args->_context, [&](gpu::Batch& batch) { | 443 | gpu::doInBatch("DrawOverlay3D::run", args->_context, [&](gpu::Batch& batch) { |
| 445 | args->_batch = &batch; | 444 | args->_batch = &batch; |
| 446 | batch.setViewportTransform(args->_viewport); | 445 | batch.setViewportTransform(args->_viewport); |
| 447 | batch.setStateScissorRect(args->_viewport); | 446 | batch.setStateScissorRect(args->_viewport); |
| @@ -473,7 +472,7 @@ void CompositeHUD::run(const RenderContextPointer& renderContext) { · 25 unmodified lines | |||
| 473 | } | 472 | } |
| 474 | 473 | ||
| 475 | // Grab the HUD texture | 474 | // Grab the HUD texture |
| 476 | gpu::doInBatch(renderContext->args->_context, [&](gpu::Batch& batch) { | 475 | gpu::doInBatch("CompositeHUD::run", renderContext->args->_context, [&](gpu::Batch& batch) { |
| 477 | if (renderContext->args->_hudOperator) { | 476 | if (renderContext->args->_hudOperator) { |
| 478 | renderContext->args->_hudOperator(batch, renderContext->args->_hudTexture, renderContext->args->_renderMode == RenderArgs::RenderMode::MIRROR_RENDER_MODE); | 477 | renderContext->args->_hudOperator(batch, renderContext->args->_hudTexture, renderContext->args->_renderMode == RenderArgs::RenderMode::MIRROR_RENDER_MODE); |
| 479 | } | 478 | } |
| @@ -499,7 +498,7 @@ void Blit::run(const RenderContextPointer& renderContext, const gpu::Framebuffer · 19 unmodified lines | |||
| 499 | // Blit primary to blit FBO | 498 | // Blit primary to blit FBO |
| 500 | auto primaryFbo = srcFramebuffer; | 499 | auto primaryFbo = srcFramebuffer; |
| 501 | 500 | ||
| 502 | gpu::doInBatch(renderArgs->_context, [&](gpu::Batch& batch) { | 501 | gpu::doInBatch("Blit::run", renderArgs->_context, [&](gpu::Batch& batch) { |
| 503 | batch.setFramebuffer(blitFbo); | 502 | batch.setFramebuffer(blitFbo); |
| 504 | 503 | ||
| 505 | if (renderArgs->_renderMode == RenderArgs::MIRROR_RENDER_MODE) { | 504 | if (renderArgs->_renderMode == RenderArgs::MIRROR_RENDER_MODE) { |