message: Reloadable shader: updated QueryInterface to properly handle IID_SerializedShader
diff: @@ -116,6 +116,8 @@ public:
  {
  if (ppInterface == nullptr)
  return;
  + DEV_CHECK_ERR(*ppInterface == nullptr, "Overwriting reference to an existing object may result in memory leaks");
  + *ppInterface = nullptr;
  if (IID == IID_InternalImpl || IID == IID_Shader || IID == IID_DeviceObject || IID == IID_Unknown)
  {
  @@ -129,6 +131,14 @@ public:
  // (PipelineStateD3D11Impl, PipelineStateD3D12Impl, etc.)
  m_pShader->QueryInterface(IID, ppInterface);
  }
  +
  + if (*ppInterface == nullptr)
  + {
  + // This will handle IID_SerializedShader.
  + RefCntAutoPtr<IObject> pObject;
  + m_pShader->GetReferenceCounters()->QueryObject(&pObject);
  + pObject->QueryInterface(IID, ppInterface);
  + }
  }
  // Delegate all calls to the internal shader object
  @@ -187,6 +197,8 @@ public:
  {
  if (ppInterface == nullptr)
  return;
  + DEV_CHECK_ERR(*ppInterface == nullptr, "Overwriting reference to an existing object may result in memory leaks");
  + *ppInterface = nullptr;
  if (IID == IID_InternalImpl || IID == IID_PipelineState || IID == IID_DeviceObject || IID == IID_Unknown)
  {
  