diff --git a/projects/clr/rocclr/runtime/device/pal/palvirtual.cpp b/projects/clr/rocclr/runtime/device/pal/palvirtual.cpp index 58210aedaf..187a0660ad 100644 --- a/projects/clr/rocclr/runtime/device/pal/palvirtual.cpp +++ b/projects/clr/rocclr/runtime/device/pal/palvirtual.cpp @@ -778,12 +778,13 @@ bool VirtualGPU::create(bool profiling, uint deviceQueueSize, uint rtCUs, // \todo forces PAL to reuse CBs, but requires postamble createInfo.flags.autoMemoryReuse = false; createInfo.allocInfo[Pal::CommandDataAlloc].allocHeap = Pal::GpuHeapGartUswc; + createInfo.allocInfo[Pal::CommandDataAlloc].suballocSize = + VirtualGPU::Queue::MaxCommands * (320 + ((profiling) ? 96 : 0)); createInfo.allocInfo[Pal::CommandDataAlloc].allocSize = - createInfo.allocInfo[Pal::CommandDataAlloc].suballocSize = - VirtualGPU::Queue::MaxCommands * (320 + ((profiling) ? 96 : 0)); + dev().settings().maxCmdBuffers_ * createInfo.allocInfo[Pal::CommandDataAlloc].suballocSize; createInfo.allocInfo[Pal::EmbeddedDataAlloc].allocHeap = Pal::GpuHeapGartUswc; - createInfo.allocInfo[Pal::EmbeddedDataAlloc].allocSize = 64 * Ki; + createInfo.allocInfo[Pal::EmbeddedDataAlloc].allocSize = 256 * Ki; createInfo.allocInfo[Pal::EmbeddedDataAlloc].suballocSize = 64 * Ki; createInfo.allocInfo[Pal::GpuScratchMemAlloc].allocHeap = Pal::GpuHeapInvisible;