GTPin

- Main Page
- Related Pages
- Modules
- Data Structures

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Types | Public Member Functions | Static Public Member Functions
gtpin::GtMemoryAddrModel Class Reference
GTPin: GEN Architecture

Class that represents Address Model of the memory surface access. More...

`#include <gt_gpu_defs.h>`

## Public Types
enum | ADDR_TYPE { BTS_IDX_MIN = 0, BTS_IDX_MAX = 0xef, SS = 0xfb, BSS = 0xfc, SLM = 0xfe, STATELESS = 0xff, STATELESS_NC = 0xfd, ADDR_TYPE_MAX = 0xff }
| Types of memory surfaces / memory address models. More...
## Public Member Functions
constexpr | GtMemoryAddrModel ()
| Construct invalid address model.
constexpr | GtMemoryAddrModel (uint32_t bti, bool isA64=true)
| Construct address model for the address type, specified by Binding Table Index, or a valid ADDR_TYPE value.
bool constexpr | IsValid () const
| Return true for a valid address model.
bool constexpr | IsBts () const
| Return true for Stateful BTS model.
bool constexpr | IsSurfaceState () const
| Return true for Surface State (SS) model.
bool constexpr | IsBss () const
| Return true for Bindless Surface State (BSS) model.
bool constexpr | IsSlm () const
| Return true for SLM address model.
bool constexpr | IsStateless () const
| Return true for a Stateless model.
bool constexpr | IsA64 () const
| Return true for 64-bit Stateless address model.
bool constexpr | IsA32 () const
| Return true for 32-bit Stateless address model.
uint32_t constexpr | PtrSize () const
| Return address size in bytes.
uint32_t constexpr | Bti () const
| Return Binding Table Index.
std::string | ToString () const
| Return string representation of the address model.
## Static Public Member Functions
static GtMemoryAddrModel | Bts (uint32_t bti)
| Make BTS model.
static constexpr GtMemoryAddrModel | SurfaceState ()
| Make SS model.
static constexpr GtMemoryAddrModel | Bss ()
| Make BSS model.
static constexpr GtMemoryAddrModel | Slm ()
| Make SLM model.
static constexpr GtMemoryAddrModel | A64 ()
| Make A64 Coherent model.
static constexpr GtMemoryAddrModel | A32 ()
| Make A32 Coherent model.
static constexpr GtMemoryAddrModel | A64Nc ()
| Make A64 Non-Coherent model.
static constexpr GtMemoryAddrModel | A32Nc ()
| Make A32 Non-Coherent model.

## Detailed Description

Class that represents Address Model of the memory surface access.

## Member Enumeration Documentation

enum gtpin::GtMemoryAddrModel::ADDR_TYPE

Types of memory surfaces / memory address models.

See also:
  gfxspecs Index/57222 and Index/44800

Note:
  ADDR_TYPE does not distinguish between A32 and A64 stateless models

Enumerator:

  BTS_IDX_MIN | Min. Binding Table State Index.
  BTS_IDX_MAX | Max. Binding Table State Index.
  SS | Surface State address.
  BSS | Bindless Surface State address.
  SLM | Shared Local Memory address.
  STATELESS | Stateless Coherent Memory address.
  STATELESS_NC | Stateless Non-Coherent Memory address.
  ADDR_TYPE_MAX | Max. valid value of this type.

## Constructor & Destructor Documentation

constexpr gtpin::GtMemoryAddrModel::GtMemoryAddrModel | ( | uint32_t | bti,
|  | bool | isA64 = `true`
| ) |  | `[inline]`

Construct address model for the address type, specified by Binding Table Index, or a valid ADDR_TYPE value.

Parameters:

  [in] | bti | Binding Table Index, or any valid ADDR_TYPE value
  [in] | isA64 | True for a stateless A64 address model, false otherwise. This parameter is ignored if 'bti' unambiguously specifies a non-stateless model

## Member Function Documentation

GtMemoryAddrModel gtpin::GtMemoryAddrModel::Bts | ( | uint32_t | bti | ) | `[inline, static]`

Make BTS model.

Precondition:
  bti <= BTS_IDX_MAX

All Data Structures Functions Variables Typedefs Enumerations Enumerator

      Copyright (C) 2013-2025 Intel Corporation

      SPDX-License-Identifier: MIT