# Barycentrics12 **Repository Path**: mirrors_GPUOpen-LibrariesAndSDKs/Barycentrics12 ## Basic Information - **Project Name**: Barycentrics12 - **Description**: Barycentric coordinates GCN shader extension sample for DirectX 12 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-08 - **Last Updated**: 2026-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![pipeline status](http://isvgit.amd.com/gpuopen/Barycentrics12/badges/master/pipeline.svg)](http://isvgit.amd.com/gpuopen/Barycentrics12/commits/master) Barycentrics D3D12 Shader Extension Sample ============================================== This sample shows how to use the shader extensions for D3D12 to access the barycentric intrinsic instruction in an HLSL pixel shader. License ------- MIT: see `LICENSE.txt` for details. System requirements ------------------- * A graphics card with D3D12 support.[1](#barycentrics12-footnote1) * For instance, any GCN-based AMD GPU onwards. * Windows 10 (64-bit recommended). * Visual Studio 2019 with Visual C++ and the Windows 10 SDK installed. The [free community edition](https://www.visualstudio.com/downloads/download-visual-studio-vs) is sufficient. * Note: neither Visual C++ nor the Windows 10 SDK are installed with Visual Studio 2015 by default. * For a fresh installation of Visual Studio 2019, choose 'Custom', not 'Typical', and select the required components. * For existing installations, you can re-run the installer or select Visual Studio from Programs and Features and click 'Change'. * When selecting components to be installed, the option to install the Windows 10 SDK is tucked away under Windows and Web Development -> Universal Windows App Development Tools. * A graphics driver with GCN shader extension support. * For example, AMD Radeon Software Crimson Edition 16.9.1 (driver version 16.40) or later. Sample overview --------------- This sample renders a triangle zooming in and out. The triangle uses a checker board texture modulated by the barycentric coordinates as RGB colors. Points of interest ------------------ * This sample uses a driver extension to enable the use of instrinsic instructions. * The driver extension is accessed through the AMD GPU Services (AGS) library. * For more information on AGS, including samples, visit the AGS SDK repository: https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK * The intrinsic instructions require a 5.1 shader model. * The Root Signature will need to use an extra resource and sampler. These are not real resources/samplers, they are just used to encode the intrinsic instruction. * The shader compiler should not use the D3DCOMPILE_SKIP_OPTIMIZATION option, otherwise it will not work. * Other instrinsics are also available. * The `DEBUG` configuration will automatically enable the debug layers to validate the API usage. Check the source code for details, as this requires the graphics tools to be installed. Attribution ----------- * AMD, the AMD Arrow logo, Radeon, and combinations thereof are either registered trademarks or trademarks of Advanced Micro Devices, Inc. in the United States and/or other countries. * Microsoft, Direct3D, DirectX, Visual Studio, Visual C++, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Notes ----- 1: While the shader extension sample will run on non-AMD hardware, it will be of limited usefulness, since the purpose of the sample is to demonstrate AMD-specific shader extensions.