Skip to content

Commit 09d08bd

Browse files
committed
[EX_2] New API Changes Applied
1 parent 9413d5a commit 09d08bd

File tree

1 file changed

+37
-20
lines changed

1 file changed

+37
-20
lines changed

examples_tests/02.ComputeShader/main.cpp

Lines changed: 37 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -62,38 +62,55 @@ class ComputeShaderSampleApp : public ApplicationBase
6262
{
6363
system = std::move(system);
6464
}
65+
video::IAPIConnection* getAPIConnection() override
66+
{
67+
return apiConnection.get();
68+
}
69+
video::ILogicalDevice* getLogicalDevice() override
70+
{
71+
return logicalDevice.get();
72+
}
73+
video::IGPURenderpass* getRenderpass() override
74+
{
75+
return renderpass.get();
76+
}
77+
void setSurface(core::smart_refctd_ptr<video::ISurface>&& s) override
78+
{
79+
surface = std::move(s);
80+
}
81+
void setFBOs(std::vector<core::smart_refctd_ptr<video::IGPUFramebuffer>>& f) override
82+
{
83+
for (int i = 0; i < f.size(); i++)
84+
{
85+
fbo[i] = core::smart_refctd_ptr(f[i]);
86+
}
87+
}
88+
void setSwapchain(core::smart_refctd_ptr<video::ISwapchain>&& s) override
89+
{
90+
swapchain = std::move(s);
91+
}
92+
uint32_t getSwapchainImageCount() override
93+
{
94+
return SC_IMG_COUNT;
95+
}
96+
virtual nbl::asset::E_FORMAT getDepthFormat() override
97+
{
98+
return nbl::asset::EF_D32_SFLOAT;
99+
}
65100

66101
APP_CONSTRUCTOR(ComputeShaderSampleApp);
67102

68103
void onAppInitialized_impl() override
69104
{
70-
CommonAPI::SFeatureRequest<video::IAPIConnection::E_FEATURE> requiredInstanceFeatures = {};
71-
requiredInstanceFeatures.count = 1u;
72-
video::IAPIConnection::E_FEATURE requiredFeatures_Instance[] = { video::IAPIConnection::EF_SURFACE };
73-
requiredInstanceFeatures.features = requiredFeatures_Instance;
74-
75-
CommonAPI::SFeatureRequest<video::IAPIConnection::E_FEATURE> optionalInstanceFeatures = {};
76-
77-
CommonAPI::SFeatureRequest<video::ILogicalDevice::E_FEATURE> requiredDeviceFeatures = {};
78-
requiredDeviceFeatures.count = 1u;
79-
video::ILogicalDevice::E_FEATURE requiredFeatures_Device[] = { video::ILogicalDevice::EF_SWAPCHAIN };
80-
requiredDeviceFeatures.features = requiredFeatures_Device;
81-
82-
CommonAPI::SFeatureRequest< video::ILogicalDevice::E_FEATURE> optionalDeviceFeatures = {};
83-
84105
const auto swapchainImageUsage = static_cast<asset::IImage::E_USAGE_FLAGS>(asset::IImage::EUF_COLOR_ATTACHMENT_BIT | asset::IImage::EUF_STORAGE_BIT);
85106
const video::ISurface::SFormat surfaceFormat(asset::EF_B8G8R8A8_UNORM, asset::ECP_COUNT, asset::EOTF_UNKNOWN);
86107

87108
CommonAPI::InitOutput initOutput;
88109
initOutput.window = core::smart_refctd_ptr(window);
89-
CommonAPI::Init(
110+
CommonAPI::InitWithDefaultExt(
90111
initOutput,
91-
video::EAT_OPENGL_ES,
112+
video::EAT_OPENGL,
92113
"02.ComputeShader",
93-
requiredInstanceFeatures,
94-
optionalInstanceFeatures,
95-
requiredDeviceFeatures,
96-
optionalDeviceFeatures,
97114
WIN_W, WIN_H, SC_IMG_COUNT,
98115
swapchainImageUsage,
99116
surfaceFormat);

0 commit comments

Comments
 (0)