blob: 2cbce282cbe78c16d8434725f2806364e981ec06 [file] [log] [blame]
Tom Stellardcb97e3a2013-04-15 17:51:35 +00001//===-- SIDefines.h - SI Helper Macros ----------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8/// \file
9//===----------------------------------------------------------------------===//
10
11#ifndef SIDEFINES_H_
12#define SIDEFINES_H_
13
Tom Stellard16a9a202013-08-14 23:24:17 +000014namespace SIInstrFlags {
15enum {
Michel Danzer20680b12013-08-16 16:19:24 +000016 MIMG = 1 << 3,
Tom Stellard93fabce2013-10-10 17:11:55 +000017 SMRD = 1 << 4,
18 VOP1 = 1 << 5,
19 VOP2 = 1 << 6,
20 VOP3 = 1 << 7,
Tom Stellard82166022013-11-13 23:36:37 +000021 VOPC = 1 << 8,
22 SALU = 1 << 9
Tom Stellard16a9a202013-08-14 23:24:17 +000023};
24}
25
Tom Stellardcb97e3a2013-04-15 17:51:35 +000026#define R_00B028_SPI_SHADER_PGM_RSRC1_PS 0x00B028
Michel Danzer49812b52013-07-10 16:37:07 +000027#define R_00B02C_SPI_SHADER_PGM_RSRC2_PS 0x00B02C
28#define S_00B02C_EXTRA_LDS_SIZE(x) (((x) & 0xFF) << 8)
Tom Stellardcb97e3a2013-04-15 17:51:35 +000029#define R_00B128_SPI_SHADER_PGM_RSRC1_VS 0x00B128
30#define R_00B228_SPI_SHADER_PGM_RSRC1_GS 0x00B228
31#define R_00B848_COMPUTE_PGM_RSRC1 0x00B848
32#define S_00B028_VGPRS(x) (((x) & 0x3F) << 0)
33#define S_00B028_SGPRS(x) (((x) & 0x0F) << 6)
Michel Danzer49812b52013-07-10 16:37:07 +000034#define R_00B84C_COMPUTE_PGM_RSRC2 0x00B84C
35#define S_00B84C_LDS_SIZE(x) (((x) & 0x1FF) << 15)
Tom Stellardcb97e3a2013-04-15 17:51:35 +000036#define R_0286CC_SPI_PS_INPUT_ENA 0x0286CC
37
38#endif // SIDEFINES_H_