some code clean up.
authorkapoorv <vipul.kapoor@autodesk.com>
Mon, 18 Dec 2023 20:58:26 +0000 (15:58 -0500)
committerkapoorv <vipul.kapoor@autodesk.com>
Mon, 18 Dec 2023 20:59:30 +0000 (15:59 -0500)
(cherry picked from commit 173d02c573ed820e4d79aa3aebe5610298963d04)

pxr/imaging/hdSt/interleavedMemoryManager.cpp
pxr/imaging/hdSt/vboSimpleMemoryManager.cpp
pxr/imaging/hgiVulkan/diagnostic.cpp
pxr/imaging/hgiVulkan/texture.cpp

index 638333c49397afb1ca75192cd6122593165253b9..aded7a640e047e637e9e0a4ad54384ae38610cc1 100644 (file)
@@ -33,6 +33,7 @@
 #include "pxr/imaging/hgi/blitCmdsOps.h"
 #include "pxr/imaging/hgi/buffer.h"
 #include "pxr/imaging/hgi/capabilities.h"
+#include "pxr/imaging/hgi/tokens.h"
 
 #include "pxr/base/arch/hash.h"
 #include "pxr/base/tf/diagnostic.h"
@@ -458,6 +459,7 @@ HdStInterleavedMemoryManager::_StripedInterleavedBuffer::Reallocate(
     HgiBufferHandle newBuf;
 
     Hgi* hgi = _resourceRegistry->GetHgi();
+    bool const isVulkanEnabled = (hgi->GetAPIName() == HgiTokens->Vulkan);
 
     // Skip buffers of zero size.
     if (totalSize > 0) {
@@ -466,7 +468,12 @@ HdStInterleavedMemoryManager::_StripedInterleavedBuffer::Reallocate(
         bufDesc.byteSize = totalSize;
         // Vulkan Validation layer is raising an error here because
         // a usage flag of Uniform is applied to a buffer bound as storage
-        bufDesc.usage = HgiBufferUsageUniform | HgiBufferUsageStorage;
+        if (isVulkanEnabled) {
+            bufDesc.usage = HgiBufferUsageUniform | HgiBufferUsageStorage;
+        }
+        else {
+            bufDesc.usage = HgiBufferUsageUniform;
+        }        
         newBuf = hgi->CreateBuffer(bufDesc);
     }
 
index 35b7ab4c7a3800c88bbfdf5218834a9e702ab14b..d5641e5f654c5a749066d029bc94e9836b38d51d 100644 (file)
@@ -39,6 +39,7 @@
 #include "pxr/imaging/hgi/blitCmds.h"
 #include "pxr/imaging/hgi/blitCmdsOps.h"
 #include "pxr/imaging/hgi/buffer.h"
+#include "pxr/imaging/hgi/tokens.h"
 
 #include "pxr/imaging/hf/perfLog.h"
 
@@ -275,6 +276,7 @@ HdStVBOSimpleMemoryManager::_SimpleBufferArray::Reallocate(
 
     // Use blit work to record resource copy commands.
     Hgi* hgi = _resourceRegistry->GetHgi();
+    bool const isVulkanEnabled = (hgi->GetAPIName() == HgiTokens->Vulkan);
     HgiBlitCmds* blitCmds = _resourceRegistry->GetGlobalBlitCmds();
     blitCmds->PushDebugGroup(__ARCH_PRETTY_FUNCTION__);
     
@@ -294,7 +296,13 @@ HdStVBOSimpleMemoryManager::_SimpleBufferArray::Reallocate(
         bufDesc.byteSize = bufferSize;
         // Vulkan Validation layer is raising an error here because
         // a usage flag of Uniform is applied to a buffer bound as storage
-        bufDesc.usage = HgiBufferUsageUniform | HgiBufferUsageStorage;
+        if (isVulkanEnabled) {
+            bufDesc.usage = HgiBufferUsageUniform | HgiBufferUsageStorage;
+        }
+        else {
+            bufDesc.usage = HgiBufferUsageUniform | HgiBufferUsageVertex;
+        }
+        
         bufDesc.vertexStride = bytesPerElement;
         bufDesc.debugName = bresIt->first.GetText();
         newBuf = hgi->CreateBuffer(bufDesc);
index 3d209d104487f924bbe7cd3722252cd70f1e20ab..f2dfbd17bb414517ffd4daeaac4fc7ab9808a993 100644 (file)
@@ -37,8 +37,8 @@
 PXR_NAMESPACE_OPEN_SCOPE
 
 
-TF_DEFINE_ENV_SETTING(HGIVULKAN_DEBUG, 0, "Enable debugging for HgiVulkan");
-TF_DEFINE_ENV_SETTING(HGIVULKAN_DEBUG_VERBOSE, 0
+TF_DEFINE_ENV_SETTING(HGIVULKAN_DEBUG, 1, "Enable debugging for HgiVulkan");
+TF_DEFINE_ENV_SETTING(HGIVULKAN_DEBUG_VERBOSE, 1
     "Enable verbose debugging for HgiVulkan");
 
 bool
index 46a944e0f3fc17be931b2ee867ed4468d818d282..c806bf848abf136c70053c91779ffc118d04dc6e 100755 (executable)
@@ -553,6 +553,9 @@ HgiVulkanTexture::SubmitLayoutChange(HgiTextureUsage newLayout)
     case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL:
         srcAccessMask = VK_ACCESS_SHADER_READ_BIT;
         break;
+    default:
+        srcAccessMask = VK_ACCESS_NONE;
+        break;
     }
 
     switch (newVkLayout) {
@@ -576,6 +579,10 @@ HgiVulkanTexture::SubmitLayoutChange(HgiTextureUsage newLayout)
             VK_ACCESS_SHADER_READ_BIT;
         dstAccessMask = VK_ACCESS_SHADER_READ_BIT;
         break;
+    default:
+        srcAccessMask = VK_ACCESS_NONE;
+        dstAccessMask = VK_ACCESS_NONE;
+        break;
     }
 
     TransitionImageBarrier(