@@ -38,7 +38,7 @@ using namespace video;
38
38
39
39
static constexpr bool DebugModeWireframe = false ;
40
40
static constexpr bool DebugRotatingViewProj = false ;
41
- static constexpr bool FragmentShaderPixelInterlock = false ;
41
+ static constexpr bool FragmentShaderPixelInterlock = true ;
42
42
43
43
enum class ExampleMode
44
44
{
@@ -67,7 +67,7 @@ constexpr std::array<float, (uint32_t)ExampleMode::CASE_COUNT> cameraExtents =
67
67
600.0 , // CASE_8
68
68
};
69
69
70
- constexpr ExampleMode mode = ExampleMode::CASE_8 ;
70
+ constexpr ExampleMode mode = ExampleMode::CASE_3 ;
71
71
72
72
class Camera2D
73
73
{
@@ -479,7 +479,9 @@ class ComputerAidedDesign final : public examples::SimpleWindowedApplication, pu
479
479
480
480
// Create the Semaphores
481
481
m_renderSemaphore = m_device->createSemaphore (0ull );
482
+ m_renderSemaphore->setObjectDebugName (" m_renderSemaphore" );
482
483
m_overflowSubmitScratchSemaphore = m_device->createSemaphore (0ull );
484
+ m_overflowSubmitScratchSemaphore->setObjectDebugName (" m_overflowSubmitScratchSemaphore" );
483
485
if (!m_renderSemaphore || !m_overflowSubmitScratchSemaphore)
484
486
return logFail (" Failed to Create Semaphores!" );
485
487
@@ -508,7 +510,7 @@ class ComputerAidedDesign final : public examples::SimpleWindowedApplication, pu
508
510
509
511
m_framesInFlight = min (m_surface->getMaxFramesInFlight (), MaxFramesInFlight);
510
512
511
- allocateResources (40960u );
513
+ allocateResources (256u );
512
514
513
515
const bitflag<IGPUDescriptorSetLayout::SBinding::E_CREATE_FLAGS> bindlessTextureFlags =
514
516
IGPUDescriptorSetLayout::SBinding::E_CREATE_FLAGS::ECF_UPDATE_AFTER_BIND_BIT |
@@ -697,8 +699,6 @@ class ComputerAidedDesign final : public examples::SimpleWindowedApplication, pu
697
699
constexpr auto debugfragmentShaderPath = " ../fragment_shader_debug.hlsl" ;
698
700
constexpr auto resolveAlphasShaderPath = " ../resolve_alphas.hlsl" ;
699
701
#if defined(SHADER_CACHE_TEST_COMPILATION_CACHE_STORE)
700
-
701
-
702
702
auto cache = core::make_smart_refctd_ptr<IShaderCompiler::CCache>();
703
703
704
704
// Load Custom Shader
@@ -742,7 +742,6 @@ class ComputerAidedDesign final : public examples::SimpleWindowedApplication, pu
742
742
const bool success = bool (succ);
743
743
assert (success);
744
744
#elif defined(SHADER_CACHE_TEST_CACHE_RETRIEVE)
745
-
746
745
auto savePath = localOutputCWD / " cache.bin" ;
747
746
748
747
core::smart_refctd_ptr<system::IFile> f;
@@ -1314,7 +1313,10 @@ class ComputerAidedDesign final : public examples::SimpleWindowedApplication, pu
1314
1313
1315
1314
if (inBetweenSubmit)
1316
1315
{
1317
- intendedSubmitInfo.overflowSubmit ();
1316
+ if (intendedSubmitInfo.overflowSubmit () != IQueue::RESULT::SUCCESS)
1317
+ {
1318
+ m_logger->log (" overflow submit failed." , ILogger::ELL_ERROR);
1319
+ }
1318
1320
}
1319
1321
else
1320
1322
{
@@ -1335,6 +1337,10 @@ class ComputerAidedDesign final : public examples::SimpleWindowedApplication, pu
1335
1337
presentWait.stageMask = PIPELINE_STAGE_FLAGS::NONE; // top of pipe, there's no explicit presentation engine stage
1336
1338
m_surface->present (m_currentImageAcquire.imageIndex ,{&presentWait,1 });
1337
1339
}
1340
+ else
1341
+ {
1342
+ m_logger->log (" regular submit failed." , ILogger::ELL_ERROR);
1343
+ }
1338
1344
}
1339
1345
}
1340
1346
@@ -1370,6 +1376,14 @@ class ComputerAidedDesign final : public examples::SimpleWindowedApplication, pu
1370
1376
return retval;
1371
1377
}
1372
1378
1379
+ virtual video::IAPIConnection::SFeatures getAPIFeaturesToEnable () override
1380
+ {
1381
+ auto retval = base_t::getAPIFeaturesToEnable ();
1382
+ // We only support one swapchain mode, surface, the other one is Display which we have not implemented yet.
1383
+ retval.swapchainMode = video::E_SWAPCHAIN_MODE::ESM_SURFACE;
1384
+ retval.validations = true ;
1385
+ return retval;
1386
+ }
1373
1387
protected:
1374
1388
1375
1389
void addObjects (SIntendedSubmitInfo& intendedNextSubmit)
0 commit comments