Enable device features, only display sample rate shading option if supported by device
This commit is contained in:
parent
a1530114ef
commit
2b04594fe3
2 changed files with 33 additions and 6 deletions
|
|
@ -215,6 +215,10 @@ public:
|
|||
// Enable physical device features required for this example
|
||||
virtual void getEnabledFeatures()
|
||||
{
|
||||
// Enable sample rate shading filtering if supported
|
||||
if (deviceFeatures.sampleRateShading) {
|
||||
enabledFeatures.sampleRateShading = VK_TRUE;
|
||||
}
|
||||
// Enable anisotropic filtering if supported
|
||||
if (deviceFeatures.samplerAnisotropy) {
|
||||
enabledFeatures.samplerAnisotropy = VK_TRUE;
|
||||
|
|
@ -1179,8 +1183,10 @@ public:
|
|||
if (overlay->checkBox("MSAA", &useMSAA)) {
|
||||
buildCommandBuffers();
|
||||
}
|
||||
if (overlay->checkBox("Sample rate shading", &useSampleShading)) {
|
||||
buildDeferredCommandBuffer();
|
||||
if (vulkanDevice->features.sampleRateShading) {
|
||||
if (overlay->checkBox("Sample rate shading", &useSampleShading)) {
|
||||
buildDeferredCommandBuffer();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -121,6 +121,25 @@ public:
|
|||
uniformBuffer.destroy();
|
||||
}
|
||||
|
||||
// Enable physical device features required for this example
|
||||
virtual void getEnabledFeatures()
|
||||
{
|
||||
// Enable sample rate shading filtering if supported
|
||||
if (deviceFeatures.sampleRateShading) {
|
||||
enabledFeatures.sampleRateShading = VK_TRUE;
|
||||
}
|
||||
// Enable texture compression
|
||||
if (deviceFeatures.textureCompressionBC) {
|
||||
enabledFeatures.textureCompressionBC = VK_TRUE;
|
||||
}
|
||||
else if (deviceFeatures.textureCompressionASTC_LDR) {
|
||||
enabledFeatures.textureCompressionASTC_LDR = VK_TRUE;
|
||||
}
|
||||
else if (deviceFeatures.textureCompressionETC2) {
|
||||
enabledFeatures.textureCompressionETC2 = VK_TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
// Creates a multi sample render target (image and view) that is used to resolve
|
||||
// into the visible frame buffer target in the render pass
|
||||
void setupMultisampleTarget()
|
||||
|
|
@ -744,9 +763,11 @@ public:
|
|||
|
||||
virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
|
||||
{
|
||||
if (overlay->header("Settings")) {
|
||||
if (overlay->checkBox("Sample rate shading", &useSampleShading)) {
|
||||
buildCommandBuffers();
|
||||
if (vulkanDevice->features.sampleRateShading) {
|
||||
if (overlay->header("Settings")) {
|
||||
if (overlay->checkBox("Sample rate shading", &useSampleShading)) {
|
||||
buildCommandBuffers();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue