Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/gfx/thebes/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 3 kB image not shown  

Quelle  d3dkmtQueryStatistics.h   Sprache: C

 
/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/* This file is based on a header file that was briefly seen in the
 * Windows 8 RC SDK. The work for this file itself was based on the one in
 * ProcessHacker at
 * http://processhacker.svn.sourceforge.net/viewvc/processhacker/2.x/trunk/plugins/ExtendedTools/d3dkmt.h?revision=4758&view=markup
 * For more details see Mozilla Bug 689870.
 * [Bug 917496 indicates that some of these structs may not match reality, and
 * therefore should not be trusted.  See the reference to bug 917496 in
 * gfxWindowsPlatform.cpp.]
 */


typedef struct _D3DKMTQS_COUNTER {
  ULONG Count;
  ULONGLONG Bytes;
} D3DKMTQS_COUNTER;

typedef struct _D3DKMTQS_ADAPTER_INFO {
  ULONG NbSegments;
  ULONG NodeCount;

  ULONG Filler[3];
  ULONGLONG Filler2[2];  // Assumed sizeof(LONGLONG) = sizeof(ULONGLONG)
  struct {
    ULONG Filler[14];
  } Filler_RDMAB;
  struct {
    ULONG Filler[9];
  } Filler_R;
  struct {
    ULONG Filler[4];
    D3DKMTQS_COUNTER Filler2;
  } Filler_P;
  struct {
    D3DKMTQS_COUNTER Filler[16];
    ULONG Filler2[2];
  } Filler_PF;
  struct {
    ULONGLONG Filler[8];
  } Filler_PT;
  struct {
    ULONG Filler[2];
  } Filler_SR;
  struct {
    ULONG Filler[7];
  } Filler_L;
  struct {
    D3DKMTQS_COUNTER Filler[7];
  } Filler_A;
  struct {
    D3DKMTQS_COUNTER Filler[4];
  } Filler_T;
  ULONG64 Reserved[8];
} D3DKMTQS_ADAPTER_INFO;

typedef struct _D3DKMTQS_SEGMENT_INFO {
  ULONGLONG Filler[3];
  struct {
    ULONGLONG Filler;
    ULONG Filler2[2];
  } Filler_M;

  ULONG Aperture;

  ULONGLONG Filler3[5];
  ULONG64 Filler4[8];
} D3DKMTQS_SEGMENT_INFO;

typedef struct _D3DKMTQS_SYSTEM_MEMORY {
  ULONGLONG BytesAllocated;
  ULONG Filler[2];
  ULONGLONG Filler2[7];
} D3DKMTQS_SYSTEM_MEMORY;

typedef struct _D3DKMTQS_PROCESS_INFO {
  ULONG Filler[2];
  struct {
    ULONGLONG BytesAllocated;

    ULONG Filler[2];
    ULONGLONG Filler2[7];
  } SystemMemory;
  ULONG64 Reserved[8];
} D3DKMTQS_PROCESS_INFO;

typedef struct _D3DKMTQS_PROCESS_SEGMENT_INFO {
  ULONGLONG BytesCommitted;
  ULONGLONG Filler[2];
  ULONG Filler2;
  struct {
    ULONG Filler;
    D3DKMTQS_COUNTER Filler2[6];
    ULONGLONG Filler3;
  } Filler3;
  struct {
    ULONGLONG Filler;
  } Filler4;
  ULONG64 Reserved[8];
} D3DKMTQS_PROCESS_SEGMENT_INFO;

typedef struct _D3DKMTQS_PROCESS_NODE_INFO {
  LARGE_INTEGER RunningTime;  // 100ns
  ULONG ContextSwitch;
  ULONG PreemptionStatistics[16];
  ULONG PacketStatistics[32];
  ULONG64 Reserved[8];
} D3DKMTQS_PROCESS_NODE_INFO;

typedef enum _D3DKMTQS_TYPE {
  D3DKMTQS_ADAPTER = 0,
  D3DKMTQS_PROCESS = 1,
  D3DKMTQS_SEGMENT = 3,
  D3DKMTQS_PROCESS_SEGMENT = 4,
  D3DKMTQS_PROCESS_NODE = 6,
} D3DKMTQS_TYPE;

typedef union _D3DKMTQS_RESULT {
  D3DKMTQS_ADAPTER_INFO AdapterInfo;
  D3DKMTQS_SEGMENT_INFO SegmentInfo;
  D3DKMTQS_PROCESS_INFO ProcessInfo;
  D3DKMTQS_PROCESS_SEGMENT_INFO ProcessSegmentInfo;
  D3DKMTQS_PROCESS_NODE_INFO ProcessNodeInformation;
} D3DKMTQS_RESULT;

typedef struct _D3DKMTQS_QUERY_SEGMENT {
  ULONG SegmentId;
} D3DKMTQS_QUERY_SEGMENT;

typedef struct _D3DKMTQS_QUERY_NODE {
  ULONG NodeId;
} D3DKMTQS_QUERY_NODE;

typedef struct _D3DKMTQS {
  D3DKMTQS_TYPE Type;
  LUID AdapterLuid;
  HANDLE hProcess;
  D3DKMTQS_RESULT QueryResult;

  union {
    D3DKMTQS_QUERY_SEGMENT QuerySegment;
    D3DKMTQS_QUERY_SEGMENT QueryProcessSegment;
    D3DKMTQS_QUERY_NODE QueryProcessNode;
  };
} D3DKMTQS;

extern "C" {
typedef __checkReturn NTSTATUS(APIENTRY* PFND3DKMTQS)(const D3DKMTQS*);
}

Messung V0.5
C=90 H=88 G=88

¤ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.