message: RenderDeviceX: a couple of minor updates
diff: @@ -1240,7 +1240,7 @@ public:
  Uint64 Size,
  USAGE Usage = USAGE_DYNAMIC,
  BIND_FLAGS BindFlags = BIND_UNIFORM_BUFFER,
  - CPU_ACCESS_FLAGS CPUAccessFlags = CPU_ACCESS_WRITE,
  + CPU_ACCESS_FLAGS CPUAccessFlags = CPU_ACCESS_NONE,
  void* pData = nullptr) noexcept(!ThrowOnError)
  {
  BufferDesc Desc;
  @@ -1248,6 +1248,9 @@ public:
  Desc.Size = Size;
  Desc.Usage = Usage;
  Desc.BindFlags = BindFlags;
  +
  + if (Usage == USAGE_DYNAMIC && CPUAccessFlags == CPU_ACCESS_NONE)
  + CPUAccessFlags = CPU_ACCESS_WRITE;
  Desc.CPUAccessFlags = CPUAccessFlags;
  BufferData InitialData;
  @@ -1414,6 +1417,11 @@ public:
  return m_pDevice->GetEngineFactory();
  }
  + operator IRenderDevice*()
  + {
  + return m_pDevice;
  + }
  +
  private:
  template <typename ObjectType, typename CreateMethodType, typename... CreateArgsType>
  RefCntAutoPtr<ObjectType> CreateDeviceObject(const char* ObjectTypeName, const char* ObjectName, CreateMethodType Create, CreateArgsType&&... Args) noexcept(!ThrowOnError)
  