XG Reference

XG is an auxiliary graphics library that is used for preparing resources and for other graphics-related tasks that are performed outside the bounds of the Direct3D runtime interfaces. Header: xg.h.

Classes

Name Description
XGTextureAddressComputer Holds a computed texture layout for a given texture resource, along with additional state that allows the user to perform texture element microtiling and macrotiling.

Functions

Name Description
XGComputeBufferLayout Computes the hardware alignment for a buffer.
XGComputeOptimalDepthStencilTileModes Computes the correct tile modes for the given depth stencil configuration.
XGComputeOptimalTileMode Computes the bandwidth-optimal tile mode for the given texture configuration.
XGComputeTexture1DLayout Computes the hardware layout for a 1D texture.
XGComputeTexture2DLayout Computes the hardware layout for a 2D texture.
XGComputeTexture3DLayout Computes the hardware layout for a 3D texture.
XGComputeTileShape Returns the shape of a single tiled resource tile for the given format.
XGCreateTexture1DComputer Creates a texture address computer object for the given 1D texture desc.
XGCreateTexture2DComputer Creates a texture address computer object for the given 2D texture desc.
XGCreateTexture3DComputer Creates a texture address computer object for the given 3D texture desc.
XGCreateTextureComputer Creates a texture address computer object for the given D3D12-style resource desc.
XGCreateTextureComputerFromDescriptor Creates a texture address computer object for the given texture descriptor.
XGCreateTextureComputerWithPitch Creates a texture address computer object for a Direct3D12-style resource description.
XGDecodeDCC Decodes (decompresses) a delta color compressed surface.
XGEnableExclusiveLocking Enable or disable exclusive locking of texture-address computation APIs.
XGEncodeDCC Encodes (compresses) a surface using delta color compression (DCC).
XGEnterExclusiveLock Enters and exclusive lock used to synchronize calls to XGSetHardwareVersion with XG texture computer creation.
XGLeaveExclusiveLock Leaves and exclusive lock used to synchronize calls to XGSetHardwareVersion with XG texture computer creation.
XGSetHardwareVersion Configures XG for the specified hardware version.
XGValidateJpegFile Validates a JPEG file for hardware decode.

Structures

Name Description
XG_BUFFER_DESC Describes a buffer resource.
XG_DCC_OPTIONS Establishes the DCC configuration options.
XG_DESCRIPTOR_TEXTURE_VIEW Native binding descriptor for a texture.
XG_MIPLEVEL_LAYOUT Describes a single mip level in the hardware layout of a texture. Each mip level comprises a number of contiguous slices in the case of an array or volume texture.
XG_PACKED_MIP_DESC Describes a packed mip.
XG_PLANE_LAYOUT Describes a mip chain in the hardware layout of a texture.
XG_RESOURCE_DESC Describes an XG resource.
XG_RESOURCE_LAYOUT Describes the entire hardware layout of a single resource. Certain resource configurations include up to 4 planes, each plane being a single mip chain.
XG_SAMPLE_DESC Description of a sample.
XG_SUBRESOURCE_TILING Controls tiling of subresources.
XG_TEXTURE1D_DESC Describes a 1D texture for the XG texture layout APIs.
XG_TEXTURE2D_DESC Describes a 2D texture for the XG texture layout APIs.
XG_TEXTURE3D_DESC Describes a 3D texture for the XG texture layout APIs.
XG_TILE_SHAPE Stores the width, height, and depth of a tile, in texels.
XG_TILE_SHAPE_ELEMENTS Stores the width, height, and depth of a tile, in elements.
XG_VALIDATED_JPEG_DESC Holds the validation results of a JPEG file stream.

Enumerations

Name Description
XG_BIND_FLAG Identifies how to bind a resource to the pipeline.
XG_CPU_ACCESS_FLAG Specifies the types of CPU access allowed for a resource.
XG_DCC_COLOR_TRANSFORM Establishes the color transformation performed before DCC compression.
XG_DCC_COMPRESSION_LEVEL Establishes the maximum DCC compression unit size.
XG_FORMAT Resource data formats which includes fully-typed and typeless formats.
XG_HARDWARE_VERSION Represents the different hardware versions in the Xbox One family of devices.
XG_PLANE_USAGE A value returned by the XG texture layout APIs to indicate the purpose of each of the planes (1, 2 or 3) comprising a texture resource.
XG_RESOURCE_DIMENSION Identifies the type of resource being used.
XG_RESOURCE_MISC_FLAG Identifies options for resources.
XG_TEXTURE_LAYOUT Specifies texture layout options. On Xbox, this enumeration includes Xbox extension members.
XG_TILE_MODE Represents the tile mode used by a 1D, 2D, or 3D texture. Special usages of textures, such as depth/stencil buffers and presentable buffers, require specific tile mode indices to be used.
XG_USAGE Identifies expected resource use during rendering. The usage directly reflects whether a resource is accessible by the CPU and/or the graphics processing unit (GPU).
XG12_RESOURCE_MISC_FLAG Identifies options for resources.

See also

DirectX