Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/gfx/ipc/D3DMessageUtils.cpp
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
3
/* This Source Code Form is subject to the terms of the Mozilla Public
4
 * License, v. 2.0. If a copy of the MPL was not distributed with this
5
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
#include "D3DMessageUtils.h"
7
#if defined(XP_WIN)
8
# include "gfxWindowsPlatform.h"
9
#endif
10
11
bool
12
DxgiAdapterDesc::operator ==(const DxgiAdapterDesc& aOther) const
13
0
{
14
0
  return memcmp(&aOther, this, sizeof(*this)) == 0;
15
0
}
16
17
#if defined(XP_WIN)
18
static_assert(sizeof(DxgiAdapterDesc) == sizeof(DXGI_ADAPTER_DESC),
19
              "DXGI_ADAPTER_DESC doe snot match DxgiAdapterDesc");
20
21
const DxgiAdapterDesc&
22
DxgiAdapterDesc::From(const DXGI_ADAPTER_DESC& aDesc)
23
{
24
  return reinterpret_cast<const DxgiAdapterDesc&>(aDesc);
25
}
26
27
const DXGI_ADAPTER_DESC&
28
DxgiAdapterDesc::ToDesc() const
29
{
30
  return reinterpret_cast<const DXGI_ADAPTER_DESC&>(*this);
31
}
32
#endif
33
34
namespace IPC {
35
36
void
37
ParamTraits<DxgiAdapterDesc>::Write(Message* aMsg, const paramType& aParam)
38
0
{
39
#if defined(XP_WIN)
40
  aMsg->WriteBytes(aParam.Description, sizeof(aParam.Description));
41
  WriteParam(aMsg, aParam.VendorId);
42
  WriteParam(aMsg, aParam.DeviceId);
43
  WriteParam(aMsg, aParam.SubSysId);
44
  WriteParam(aMsg, aParam.Revision);
45
  WriteParam(aMsg, aParam.DedicatedVideoMemory);
46
  WriteParam(aMsg, aParam.DedicatedSystemMemory);
47
  WriteParam(aMsg, aParam.SharedSystemMemory);
48
  WriteParam(aMsg, aParam.AdapterLuid.LowPart);
49
  WriteParam(aMsg, aParam.AdapterLuid.HighPart);
50
#endif
51
}
52
53
bool
54
ParamTraits<DxgiAdapterDesc>::Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
55
0
{
56
#if defined(XP_WIN)
57
  if (!aMsg->ReadBytesInto(aIter, aResult->Description, sizeof(aResult->Description))) {
58
    return false;
59
  }
60
61
  if (ReadParam(aMsg, aIter, &aResult->VendorId) &&
62
      ReadParam(aMsg, aIter, &aResult->DeviceId) &&
63
      ReadParam(aMsg, aIter, &aResult->SubSysId) &&
64
      ReadParam(aMsg, aIter, &aResult->Revision) &&
65
      ReadParam(aMsg, aIter, &aResult->DedicatedVideoMemory) &&
66
      ReadParam(aMsg, aIter, &aResult->DedicatedSystemMemory) &&
67
      ReadParam(aMsg, aIter, &aResult->SharedSystemMemory) &&
68
      ReadParam(aMsg, aIter, &aResult->AdapterLuid.LowPart) &&
69
      ReadParam(aMsg, aIter, &aResult->AdapterLuid.HighPart))
70
  {
71
    return true;
72
  }
73
  return false;
74
#else
75
  return true;
76
0
#endif
77
0
}
78
79
} // namespace IPC