NVAPI Reference Documentation
NVIDIA
Release 384: June 27
2017

NvAPI_D3D11_CREATE_FASTGS_EXPLICIT_DESC_V1 Struct Reference

#include <nvapi.h>

Data Fields

NvU32 version
 
NvU32 flags
 
NvAPI_D3D11_SWIZZLE_MODEpCoordinateSwizzling
 

Field Documentation

NvU32 NvAPI_D3D11_CREATE_FASTGS_EXPLICIT_DESC_V1::flags

A combination of flags from NV_FASTGS_FLAGS.

NvAPI_D3D11_SWIZZLE_MODE* NvAPI_D3D11_CREATE_FASTGS_EXPLICIT_DESC_V1::pCoordinateSwizzling

[optional] Array of 16 coordinate swizzle modes, one per viewport. NULL if not used.
The output x, y, z, and w coordinates of all vertices can be set to any of the coordinates or their negated versions i.e. {x, y, z, w, -x, -y, -z, -w}. Coordinates are swizzled before any viewport operation occurs i.e. before frustum clipping, scaling, and viewport clipping. And after last of vertex/tesselation/geometry shader stage, stream-out and viewport broadcast expansion (see NV_FASTGS_USE_VIEWPORT_MASK) pCoordinateSwizzling[i] sets the swizzle-mode of each component for viewport i.
See NV_SWIZZLE_MODE for values of allowed swizzle modes.
See NV_SWIZZLE_OFFSET for bit offset from where NV_SWIZZLE_MODE to be set for each component.
For example :

  1. To set swizzle for viewport 0 such that - w and z are unchanged and values of x and y are swapped :
    pCoordinateSwizzling[0] = (NV_SWIZZLE_POS_W << NV_SWIZZLE_OFFSET_W) |
    (NV_SWIZZLE_POS_Z << NV_SWIZZLE_OFFSET_Z) |
    (NV_SWIZZLE_POS_X << NV_SWIZZLE_OFFSET_Y) |
    (NV_SWIZZLE_POS_Y << NV_SWIZZLE_OFFSET_X);
  2. To set swizzle for viewport 0 such that - w, z and y are unchanged and value of x is negated :
    pCoordinateSwizzling[0] = (NV_SWIZZLE_POS_W << NV_SWIZZLE_OFFSET_W) |
    (NV_SWIZZLE_POS_Z << NV_SWIZZLE_OFFSET_Z) |
    (NV_SWIZZLE_POS_Y << NV_SWIZZLE_OFFSET_Y) |
    (NV_SWIZZLE_NEG_X << NV_SWIZZLE_OFFSET_X);
    Need to set some valid combination of swizzle-modes for all viewports, irrespective of whether that viewport is set.
    Invalid swizzle-mode for any viewport (even if that viewport is not set) may result in removal of device.
NvU32 NvAPI_D3D11_CREATE_FASTGS_EXPLICIT_DESC_V1::version

ALWAYS == NVAPI_D3D11_CREATEFASTGSEXPLICIT_VER.


The documentation for this struct was generated from the following file:


Copyright (c) 2007-2017 NVIDIA Corporation. All rights reserved.

NVIDIA