1*d83cc019SAndroid Build Coastguard Worker /* 2*d83cc019SAndroid Build Coastguard Worker Copyright (C) Intel Corp. 2006. All Rights Reserved. 3*d83cc019SAndroid Build Coastguard Worker Intel funded Tungsten Graphics (http://www.tungstengraphics.com) to 4*d83cc019SAndroid Build Coastguard Worker develop this 3D driver. 5*d83cc019SAndroid Build Coastguard Worker 6*d83cc019SAndroid Build Coastguard Worker Permission is hereby granted, free of charge, to any person obtaining 7*d83cc019SAndroid Build Coastguard Worker a copy of this software and associated documentation files (the 8*d83cc019SAndroid Build Coastguard Worker "Software"), to deal in the Software without restriction, including 9*d83cc019SAndroid Build Coastguard Worker without limitation the rights to use, copy, modify, merge, publish, 10*d83cc019SAndroid Build Coastguard Worker distribute, sublicense, and/or sell copies of the Software, and to 11*d83cc019SAndroid Build Coastguard Worker permit persons to whom the Software is furnished to do so, subject to 12*d83cc019SAndroid Build Coastguard Worker the following conditions: 13*d83cc019SAndroid Build Coastguard Worker 14*d83cc019SAndroid Build Coastguard Worker The above copyright notice and this permission notice (including the 15*d83cc019SAndroid Build Coastguard Worker next paragraph) shall be included in all copies or substantial 16*d83cc019SAndroid Build Coastguard Worker portions of the Software. 17*d83cc019SAndroid Build Coastguard Worker 18*d83cc019SAndroid Build Coastguard Worker THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19*d83cc019SAndroid Build Coastguard Worker EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20*d83cc019SAndroid Build Coastguard Worker MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21*d83cc019SAndroid Build Coastguard Worker IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE 22*d83cc019SAndroid Build Coastguard Worker LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23*d83cc019SAndroid Build Coastguard Worker OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24*d83cc019SAndroid Build Coastguard Worker WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25*d83cc019SAndroid Build Coastguard Worker 26*d83cc019SAndroid Build Coastguard Worker **********************************************************************/ 27*d83cc019SAndroid Build Coastguard Worker /* 28*d83cc019SAndroid Build Coastguard Worker * Authors: 29*d83cc019SAndroid Build Coastguard Worker * Keith Whitwell <[email protected]> 30*d83cc019SAndroid Build Coastguard Worker */ 31*d83cc019SAndroid Build Coastguard Worker 32*d83cc019SAndroid Build Coastguard Worker #define INTEL_MASK(high, low) (((1<<((high)-(low)+1))-1)<<(low)) 33*d83cc019SAndroid Build Coastguard Worker #define SET_FIELD(value, field) (((value) << field ## _SHIFT) & field ## _MASK) 34*d83cc019SAndroid Build Coastguard Worker #define GET_FIELD(word, field) (((word) & field ## _MASK) >> field ## _SHIFT) 35*d83cc019SAndroid Build Coastguard Worker 36*d83cc019SAndroid Build Coastguard Worker #ifndef BRW_DEFINES_H 37*d83cc019SAndroid Build Coastguard Worker #define BRW_DEFINES_H 38*d83cc019SAndroid Build Coastguard Worker 39*d83cc019SAndroid Build Coastguard Worker /* 3D state: 40*d83cc019SAndroid Build Coastguard Worker */ 41*d83cc019SAndroid Build Coastguard Worker #define PIPE_CONTROL_NOWRITE 0x00 42*d83cc019SAndroid Build Coastguard Worker #define PIPE_CONTROL_WRITEIMMEDIATE 0x01 43*d83cc019SAndroid Build Coastguard Worker #define PIPE_CONTROL_WRITEDEPTH 0x02 44*d83cc019SAndroid Build Coastguard Worker #define PIPE_CONTROL_WRITETIMESTAMP 0x03 45*d83cc019SAndroid Build Coastguard Worker 46*d83cc019SAndroid Build Coastguard Worker #define PIPE_CONTROL_GTTWRITE_PROCESS_LOCAL 0x00 47*d83cc019SAndroid Build Coastguard Worker #define PIPE_CONTROL_GTTWRITE_GLOBAL 0x01 48*d83cc019SAndroid Build Coastguard Worker 49*d83cc019SAndroid Build Coastguard Worker #define CMD_3D_PRIM 0x7b00 /* 3DPRIMITIVE */ 50*d83cc019SAndroid Build Coastguard Worker /* DW0 */ 51*d83cc019SAndroid Build Coastguard Worker # define GEN4_3DPRIM_TOPOLOGY_TYPE_SHIFT 10 52*d83cc019SAndroid Build Coastguard Worker # define GEN4_3DPRIM_VERTEXBUFFER_ACCESS_SEQUENTIAL (0 << 15) 53*d83cc019SAndroid Build Coastguard Worker # define GEN4_3DPRIM_VERTEXBUFFER_ACCESS_RANDOM (1 << 15) 54*d83cc019SAndroid Build Coastguard Worker /* DW1 */ 55*d83cc019SAndroid Build Coastguard Worker # define GEN7_3DPRIM_VERTEXBUFFER_ACCESS_SEQUENTIAL (0 << 8) 56*d83cc019SAndroid Build Coastguard Worker # define GEN7_3DPRIM_VERTEXBUFFER_ACCESS_RANDOM (1 << 8) 57*d83cc019SAndroid Build Coastguard Worker 58*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_POINTLIST 0x01 59*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_LINELIST 0x02 60*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_LINESTRIP 0x03 61*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_TRILIST 0x04 62*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_TRISTRIP 0x05 63*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_TRIFAN 0x06 64*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_QUADLIST 0x07 65*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_QUADSTRIP 0x08 66*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_LINELIST_ADJ 0x09 67*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_LINESTRIP_ADJ 0x0A 68*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_TRILIST_ADJ 0x0B 69*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_TRISTRIP_ADJ 0x0C 70*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_TRISTRIP_REVERSE 0x0D 71*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_POLYGON 0x0E 72*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_RECTLIST 0x0F 73*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_LINELOOP 0x10 74*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_POINTLIST_BF 0x11 75*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_LINESTRIP_CONT 0x12 76*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_LINESTRIP_BF 0x13 77*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_LINESTRIP_CONT_BF 0x14 78*d83cc019SAndroid Build Coastguard Worker #define _3DPRIM_TRIFAN_NOSTIPPLE 0x15 79*d83cc019SAndroid Build Coastguard Worker 80*d83cc019SAndroid Build Coastguard Worker #define BRW_ANISORATIO_2 0 81*d83cc019SAndroid Build Coastguard Worker #define BRW_ANISORATIO_4 1 82*d83cc019SAndroid Build Coastguard Worker #define BRW_ANISORATIO_6 2 83*d83cc019SAndroid Build Coastguard Worker #define BRW_ANISORATIO_8 3 84*d83cc019SAndroid Build Coastguard Worker #define BRW_ANISORATIO_10 4 85*d83cc019SAndroid Build Coastguard Worker #define BRW_ANISORATIO_12 5 86*d83cc019SAndroid Build Coastguard Worker #define BRW_ANISORATIO_14 6 87*d83cc019SAndroid Build Coastguard Worker #define BRW_ANISORATIO_16 7 88*d83cc019SAndroid Build Coastguard Worker 89*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_ONE 0x1 90*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_SRC_COLOR 0x2 91*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_SRC_ALPHA 0x3 92*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_DST_ALPHA 0x4 93*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_DST_COLOR 0x5 94*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_SRC_ALPHA_SATURATE 0x6 95*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_CONST_COLOR 0x7 96*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_CONST_ALPHA 0x8 97*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_SRC1_COLOR 0x9 98*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_SRC1_ALPHA 0x0A 99*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_ZERO 0x11 100*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_INV_SRC_COLOR 0x12 101*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_INV_SRC_ALPHA 0x13 102*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_INV_DST_ALPHA 0x14 103*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_INV_DST_COLOR 0x15 104*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_INV_CONST_COLOR 0x17 105*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_INV_CONST_ALPHA 0x18 106*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_INV_SRC1_COLOR 0x19 107*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFACTOR_INV_SRC1_ALPHA 0x1A 108*d83cc019SAndroid Build Coastguard Worker 109*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFUNCTION_ADD 0 110*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFUNCTION_SUBTRACT 1 111*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFUNCTION_REVERSE_SUBTRACT 2 112*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFUNCTION_MIN 3 113*d83cc019SAndroid Build Coastguard Worker #define BRW_BLENDFUNCTION_MAX 4 114*d83cc019SAndroid Build Coastguard Worker 115*d83cc019SAndroid Build Coastguard Worker #define BRW_ALPHATEST_FORMAT_UNORM8 0 116*d83cc019SAndroid Build Coastguard Worker #define BRW_ALPHATEST_FORMAT_FLOAT32 1 117*d83cc019SAndroid Build Coastguard Worker 118*d83cc019SAndroid Build Coastguard Worker #define BRW_CHROMAKEY_KILL_ON_ANY_MATCH 0 119*d83cc019SAndroid Build Coastguard Worker #define BRW_CHROMAKEY_REPLACE_BLACK 1 120*d83cc019SAndroid Build Coastguard Worker 121*d83cc019SAndroid Build Coastguard Worker #define BRW_CLIP_API_OGL 0 122*d83cc019SAndroid Build Coastguard Worker #define BRW_CLIP_API_DX 1 123*d83cc019SAndroid Build Coastguard Worker 124*d83cc019SAndroid Build Coastguard Worker #define BRW_CLIPMODE_NORMAL 0 125*d83cc019SAndroid Build Coastguard Worker #define BRW_CLIPMODE_CLIP_ALL 1 126*d83cc019SAndroid Build Coastguard Worker #define BRW_CLIPMODE_CLIP_NON_REJECTED 2 127*d83cc019SAndroid Build Coastguard Worker #define BRW_CLIPMODE_REJECT_ALL 3 128*d83cc019SAndroid Build Coastguard Worker #define BRW_CLIPMODE_ACCEPT_ALL 4 129*d83cc019SAndroid Build Coastguard Worker #define BRW_CLIPMODE_KERNEL_CLIP 5 130*d83cc019SAndroid Build Coastguard Worker 131*d83cc019SAndroid Build Coastguard Worker #define BRW_CLIP_NDCSPACE 0 132*d83cc019SAndroid Build Coastguard Worker #define BRW_CLIP_SCREENSPACE 1 133*d83cc019SAndroid Build Coastguard Worker 134*d83cc019SAndroid Build Coastguard Worker #define BRW_COMPAREFUNCTION_ALWAYS 0 135*d83cc019SAndroid Build Coastguard Worker #define BRW_COMPAREFUNCTION_NEVER 1 136*d83cc019SAndroid Build Coastguard Worker #define BRW_COMPAREFUNCTION_LESS 2 137*d83cc019SAndroid Build Coastguard Worker #define BRW_COMPAREFUNCTION_EQUAL 3 138*d83cc019SAndroid Build Coastguard Worker #define BRW_COMPAREFUNCTION_LEQUAL 4 139*d83cc019SAndroid Build Coastguard Worker #define BRW_COMPAREFUNCTION_GREATER 5 140*d83cc019SAndroid Build Coastguard Worker #define BRW_COMPAREFUNCTION_NOTEQUAL 6 141*d83cc019SAndroid Build Coastguard Worker #define BRW_COMPAREFUNCTION_GEQUAL 7 142*d83cc019SAndroid Build Coastguard Worker 143*d83cc019SAndroid Build Coastguard Worker #define BRW_COVERAGE_PIXELS_HALF 0 144*d83cc019SAndroid Build Coastguard Worker #define BRW_COVERAGE_PIXELS_1 1 145*d83cc019SAndroid Build Coastguard Worker #define BRW_COVERAGE_PIXELS_2 2 146*d83cc019SAndroid Build Coastguard Worker #define BRW_COVERAGE_PIXELS_4 3 147*d83cc019SAndroid Build Coastguard Worker 148*d83cc019SAndroid Build Coastguard Worker #define BRW_CULLMODE_BOTH 0 149*d83cc019SAndroid Build Coastguard Worker #define BRW_CULLMODE_NONE 1 150*d83cc019SAndroid Build Coastguard Worker #define BRW_CULLMODE_FRONT 2 151*d83cc019SAndroid Build Coastguard Worker #define BRW_CULLMODE_BACK 3 152*d83cc019SAndroid Build Coastguard Worker 153*d83cc019SAndroid Build Coastguard Worker #define BRW_DEFAULTCOLOR_R8G8B8A8_UNORM 0 154*d83cc019SAndroid Build Coastguard Worker #define BRW_DEFAULTCOLOR_R32G32B32A32_FLOAT 1 155*d83cc019SAndroid Build Coastguard Worker 156*d83cc019SAndroid Build Coastguard Worker #define BRW_DEPTHFORMAT_D32_FLOAT_S8X24_UINT 0 157*d83cc019SAndroid Build Coastguard Worker #define BRW_DEPTHFORMAT_D32_FLOAT 1 158*d83cc019SAndroid Build Coastguard Worker #define BRW_DEPTHFORMAT_D24_UNORM_S8_UINT 2 159*d83cc019SAndroid Build Coastguard Worker #define BRW_DEPTHFORMAT_D24_UNORM_X8_UINT 3 /* GEN5 */ 160*d83cc019SAndroid Build Coastguard Worker #define BRW_DEPTHFORMAT_D16_UNORM 5 161*d83cc019SAndroid Build Coastguard Worker 162*d83cc019SAndroid Build Coastguard Worker #define BRW_FLOATING_POINT_IEEE_754 0 163*d83cc019SAndroid Build Coastguard Worker #define BRW_FLOATING_POINT_NON_IEEE_754 1 164*d83cc019SAndroid Build Coastguard Worker 165*d83cc019SAndroid Build Coastguard Worker #define BRW_FRONTWINDING_CW 0 166*d83cc019SAndroid Build Coastguard Worker #define BRW_FRONTWINDING_CCW 1 167*d83cc019SAndroid Build Coastguard Worker 168*d83cc019SAndroid Build Coastguard Worker #define BRW_SPRITE_POINT_ENABLE 16 169*d83cc019SAndroid Build Coastguard Worker 170*d83cc019SAndroid Build Coastguard Worker #define BRW_CUT_INDEX_ENABLE (1 << 10) 171*d83cc019SAndroid Build Coastguard Worker 172*d83cc019SAndroid Build Coastguard Worker #define BRW_INDEX_BYTE 0 173*d83cc019SAndroid Build Coastguard Worker #define BRW_INDEX_WORD 1 174*d83cc019SAndroid Build Coastguard Worker #define BRW_INDEX_DWORD 2 175*d83cc019SAndroid Build Coastguard Worker 176*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_CLEAR 0 177*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_NOR 1 178*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_AND_INVERTED 2 179*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_COPY_INVERTED 3 180*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_AND_REVERSE 4 181*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_INVERT 5 182*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_XOR 6 183*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_NAND 7 184*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_AND 8 185*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_EQUIV 9 186*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_NOOP 10 187*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_OR_INVERTED 11 188*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_COPY 12 189*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_OR_REVERSE 13 190*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_OR 14 191*d83cc019SAndroid Build Coastguard Worker #define BRW_LOGICOPFUNCTION_SET 15 192*d83cc019SAndroid Build Coastguard Worker 193*d83cc019SAndroid Build Coastguard Worker #define BRW_MAPFILTER_NEAREST 0x0 194*d83cc019SAndroid Build Coastguard Worker #define BRW_MAPFILTER_LINEAR 0x1 195*d83cc019SAndroid Build Coastguard Worker #define BRW_MAPFILTER_ANISOTROPIC 0x2 196*d83cc019SAndroid Build Coastguard Worker 197*d83cc019SAndroid Build Coastguard Worker #define BRW_MIPFILTER_NONE 0 198*d83cc019SAndroid Build Coastguard Worker #define BRW_MIPFILTER_NEAREST 1 199*d83cc019SAndroid Build Coastguard Worker #define BRW_MIPFILTER_LINEAR 3 200*d83cc019SAndroid Build Coastguard Worker 201*d83cc019SAndroid Build Coastguard Worker #define BRW_ADDRESS_ROUNDING_ENABLE_U_MAG 0x20 202*d83cc019SAndroid Build Coastguard Worker #define BRW_ADDRESS_ROUNDING_ENABLE_U_MIN 0x10 203*d83cc019SAndroid Build Coastguard Worker #define BRW_ADDRESS_ROUNDING_ENABLE_V_MAG 0x08 204*d83cc019SAndroid Build Coastguard Worker #define BRW_ADDRESS_ROUNDING_ENABLE_V_MIN 0x04 205*d83cc019SAndroid Build Coastguard Worker #define BRW_ADDRESS_ROUNDING_ENABLE_R_MAG 0x02 206*d83cc019SAndroid Build Coastguard Worker #define BRW_ADDRESS_ROUNDING_ENABLE_R_MIN 0x01 207*d83cc019SAndroid Build Coastguard Worker 208*d83cc019SAndroid Build Coastguard Worker #define BRW_POLYGON_FRONT_FACING 0 209*d83cc019SAndroid Build Coastguard Worker #define BRW_POLYGON_BACK_FACING 1 210*d83cc019SAndroid Build Coastguard Worker 211*d83cc019SAndroid Build Coastguard Worker #define BRW_PREFILTER_ALWAYS 0x0 212*d83cc019SAndroid Build Coastguard Worker #define BRW_PREFILTER_NEVER 0x1 213*d83cc019SAndroid Build Coastguard Worker #define BRW_PREFILTER_LESS 0x2 214*d83cc019SAndroid Build Coastguard Worker #define BRW_PREFILTER_EQUAL 0x3 215*d83cc019SAndroid Build Coastguard Worker #define BRW_PREFILTER_LEQUAL 0x4 216*d83cc019SAndroid Build Coastguard Worker #define BRW_PREFILTER_GREATER 0x5 217*d83cc019SAndroid Build Coastguard Worker #define BRW_PREFILTER_NOTEQUAL 0x6 218*d83cc019SAndroid Build Coastguard Worker #define BRW_PREFILTER_GEQUAL 0x7 219*d83cc019SAndroid Build Coastguard Worker 220*d83cc019SAndroid Build Coastguard Worker #define BRW_PROVOKING_VERTEX_0 0 221*d83cc019SAndroid Build Coastguard Worker #define BRW_PROVOKING_VERTEX_1 1 222*d83cc019SAndroid Build Coastguard Worker #define BRW_PROVOKING_VERTEX_2 2 223*d83cc019SAndroid Build Coastguard Worker 224*d83cc019SAndroid Build Coastguard Worker #define BRW_RASTRULE_UPPER_LEFT 0 225*d83cc019SAndroid Build Coastguard Worker #define BRW_RASTRULE_UPPER_RIGHT 1 226*d83cc019SAndroid Build Coastguard Worker /* These are listed as "Reserved, but not seen as useful" 227*d83cc019SAndroid Build Coastguard Worker * in Intel documentation (page 212, "Point Rasterization Rule", 228*d83cc019SAndroid Build Coastguard Worker * section 7.4 "SF Pipeline State Summary", of document 229*d83cc019SAndroid Build Coastguard Worker * "Intel® 965 Express Chipset Family and Intel® G35 Express 230*d83cc019SAndroid Build Coastguard Worker * Chipset Graphics Controller Programmer's Reference Manual, 231*d83cc019SAndroid Build Coastguard Worker * Volume 2: 3D/Media", Revision 1.0b as of January 2008, 232*d83cc019SAndroid Build Coastguard Worker * available at 233*d83cc019SAndroid Build Coastguard Worker * http://intellinuxgraphics.org/documentation.html 234*d83cc019SAndroid Build Coastguard Worker * at the time of this writing). 235*d83cc019SAndroid Build Coastguard Worker * 236*d83cc019SAndroid Build Coastguard Worker * These appear to be supported on at least some 237*d83cc019SAndroid Build Coastguard Worker * i965-family devices, and the BRW_RASTRULE_LOWER_RIGHT 238*d83cc019SAndroid Build Coastguard Worker * is useful when using OpenGL to render to a FBO 239*d83cc019SAndroid Build Coastguard Worker * (which has the pixel coordinate Y orientation inverted 240*d83cc019SAndroid Build Coastguard Worker * with respect to the normal OpenGL pixel coordinate system). 241*d83cc019SAndroid Build Coastguard Worker */ 242*d83cc019SAndroid Build Coastguard Worker #define BRW_RASTRULE_LOWER_LEFT 2 243*d83cc019SAndroid Build Coastguard Worker #define BRW_RASTRULE_LOWER_RIGHT 3 244*d83cc019SAndroid Build Coastguard Worker 245*d83cc019SAndroid Build Coastguard Worker #define BRW_RENDERTARGET_CLAMPRANGE_UNORM 0 246*d83cc019SAndroid Build Coastguard Worker #define BRW_RENDERTARGET_CLAMPRANGE_SNORM 1 247*d83cc019SAndroid Build Coastguard Worker #define BRW_RENDERTARGET_CLAMPRANGE_FORMAT 2 248*d83cc019SAndroid Build Coastguard Worker 249*d83cc019SAndroid Build Coastguard Worker #define BRW_STENCILOP_KEEP 0 250*d83cc019SAndroid Build Coastguard Worker #define BRW_STENCILOP_ZERO 1 251*d83cc019SAndroid Build Coastguard Worker #define BRW_STENCILOP_REPLACE 2 252*d83cc019SAndroid Build Coastguard Worker #define BRW_STENCILOP_INCRSAT 3 253*d83cc019SAndroid Build Coastguard Worker #define BRW_STENCILOP_DECRSAT 4 254*d83cc019SAndroid Build Coastguard Worker #define BRW_STENCILOP_INCR 5 255*d83cc019SAndroid Build Coastguard Worker #define BRW_STENCILOP_DECR 6 256*d83cc019SAndroid Build Coastguard Worker #define BRW_STENCILOP_INVERT 7 257*d83cc019SAndroid Build Coastguard Worker 258*d83cc019SAndroid Build Coastguard Worker /* Surface state DW0 */ 259*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_RC_READ_WRITE (1 << 8) 260*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_MIPLAYOUT_SHIFT 10 261*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_MIPMAPLAYOUT_BELOW 0 262*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_MIPMAPLAYOUT_RIGHT 1 263*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_CUBEFACE_ENABLES 0x3f 264*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_BLEND_ENABLED (1 << 13) 265*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_WRITEDISABLE_B_SHIFT 14 266*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_WRITEDISABLE_G_SHIFT 15 267*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_WRITEDISABLE_R_SHIFT 16 268*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_WRITEDISABLE_A_SHIFT 17 269*d83cc019SAndroid Build Coastguard Worker 270*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32A32_FLOAT 0x000 271*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32A32_SINT 0x001 272*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32A32_UINT 0x002 273*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32A32_UNORM 0x003 274*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32A32_SNORM 0x004 275*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R64G64_FLOAT 0x005 276*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32X32_FLOAT 0x006 277*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32A32_SSCALED 0x007 278*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32A32_USCALED 0x008 279*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32A32_SFIXED 0x020 280*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32_FLOAT 0x040 281*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32_SINT 0x041 282*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32_UINT 0x042 283*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32_UNORM 0x043 284*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32_SNORM 0x044 285*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32_SSCALED 0x045 286*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32_USCALED 0x046 287*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32B32_SFIXED 0x050 288*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16B16A16_UNORM 0x080 289*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16B16A16_SNORM 0x081 290*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16B16A16_SINT 0x082 291*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16B16A16_UINT 0x083 292*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16B16A16_FLOAT 0x084 293*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32_FLOAT 0x085 294*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32_SINT 0x086 295*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32_UINT 0x087 296*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32_FLOAT_X8X24_TYPELESS 0x088 297*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_X32_TYPELESS_G8X24_UINT 0x089 298*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_L32A32_FLOAT 0x08A 299*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32_UNORM 0x08B 300*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32_SNORM 0x08C 301*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R64_FLOAT 0x08D 302*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16B16X16_UNORM 0x08E 303*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16B16X16_FLOAT 0x08F 304*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_A32X32_FLOAT 0x090 305*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_L32X32_FLOAT 0x091 306*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_I32X32_FLOAT 0x092 307*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16B16A16_SSCALED 0x093 308*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16B16A16_USCALED 0x094 309*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32_SSCALED 0x095 310*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32_USCALED 0x096 311*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32G32_SFIXED 0x0A0 312*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B8G8R8A8_UNORM 0x0C0 313*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B8G8R8A8_UNORM_SRGB 0x0C1 314*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R10G10B10A2_UNORM 0x0C2 315*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R10G10B10A2_UNORM_SRGB 0x0C3 316*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R10G10B10A2_UINT 0x0C4 317*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R10G10B10_SNORM_A2_UNORM 0x0C5 318*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8B8A8_UNORM 0x0C7 319*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8B8A8_UNORM_SRGB 0x0C8 320*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8B8A8_SNORM 0x0C9 321*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8B8A8_SINT 0x0CA 322*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8B8A8_UINT 0x0CB 323*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16_UNORM 0x0CC 324*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16_SNORM 0x0CD 325*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16_SINT 0x0CE 326*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16_UINT 0x0CF 327*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16_FLOAT 0x0D0 328*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B10G10R10A2_UNORM 0x0D1 329*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B10G10R10A2_UNORM_SRGB 0x0D2 330*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R11G11B10_FLOAT 0x0D3 331*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32_SINT 0x0D6 332*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32_UINT 0x0D7 333*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32_FLOAT 0x0D8 334*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R24_UNORM_X8_TYPELESS 0x0D9 335*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_X24_TYPELESS_G8_UINT 0x0DA 336*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_L16A16_UNORM 0x0DF 337*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_I24X8_UNORM 0x0E0 338*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_L24X8_UNORM 0x0E1 339*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_A24X8_UNORM 0x0E2 340*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_I32_FLOAT 0x0E3 341*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_L32_FLOAT 0x0E4 342*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_A32_FLOAT 0x0E5 343*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B8G8R8X8_UNORM 0x0E9 344*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B8G8R8X8_UNORM_SRGB 0x0EA 345*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8B8X8_UNORM 0x0EB 346*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8B8X8_UNORM_SRGB 0x0EC 347*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R9G9B9E5_SHAREDEXP 0x0ED 348*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B10G10R10X2_UNORM 0x0EE 349*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_L16A16_FLOAT 0x0F0 350*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32_UNORM 0x0F1 351*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32_SNORM 0x0F2 352*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R10G10B10X2_USCALED 0x0F3 353*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8B8A8_SSCALED 0x0F4 354*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8B8A8_USCALED 0x0F5 355*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16_SSCALED 0x0F6 356*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16_USCALED 0x0F7 357*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32_SSCALED 0x0F8 358*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32_USCALED 0x0F9 359*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B5G6R5_UNORM 0x100 360*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B5G6R5_UNORM_SRGB 0x101 361*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B5G5R5A1_UNORM 0x102 362*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B5G5R5A1_UNORM_SRGB 0x103 363*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B4G4R4A4_UNORM 0x104 364*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B4G4R4A4_UNORM_SRGB 0x105 365*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8_UNORM 0x106 366*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8_SNORM 0x107 367*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8_SINT 0x108 368*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8_UINT 0x109 369*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16_UNORM 0x10A 370*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16_SNORM 0x10B 371*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16_SINT 0x10C 372*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16_UINT 0x10D 373*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16_FLOAT 0x10E 374*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_I16_UNORM 0x111 375*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_L16_UNORM 0x112 376*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_A16_UNORM 0x113 377*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_L8A8_UNORM 0x114 378*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_I16_FLOAT 0x115 379*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_L16_FLOAT 0x116 380*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_A16_FLOAT 0x117 381*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_L8A8_UNORM_SRGB 0x118 382*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R5G5_SNORM_B6_UNORM 0x119 383*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B5G5R5X1_UNORM 0x11A 384*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B5G5R5X1_UNORM_SRGB 0x11B 385*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8_SSCALED 0x11C 386*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8_USCALED 0x11D 387*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16_SSCALED 0x11E 388*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16_USCALED 0x11F 389*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8_UNORM 0x140 390*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8_SNORM 0x141 391*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8_SINT 0x142 392*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8_UINT 0x143 393*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_A8_UNORM 0x144 394*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_I8_UNORM 0x145 395*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_L8_UNORM 0x146 396*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_P4A4_UNORM 0x147 397*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_A4P4_UNORM 0x148 398*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8_SSCALED 0x149 399*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8_USCALED 0x14A 400*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_L8_UNORM_SRGB 0x14C 401*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_DXT1_RGB_SRGB 0x180 402*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R1_UINT 0x181 403*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_YCRCB_NORMAL 0x182 404*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_YCRCB_SWAPUVY 0x183 405*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_BC1_UNORM 0x186 406*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_BC2_UNORM 0x187 407*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_BC3_UNORM 0x188 408*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_BC4_UNORM 0x189 409*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_BC5_UNORM 0x18A 410*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_BC1_UNORM_SRGB 0x18B 411*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_BC2_UNORM_SRGB 0x18C 412*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_BC3_UNORM_SRGB 0x18D 413*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_MONO8 0x18E 414*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_YCRCB_SWAPUV 0x18F 415*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_YCRCB_SWAPY 0x190 416*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_DXT1_RGB 0x191 417*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_FXT1 0x192 418*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8B8_UNORM 0x193 419*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8B8_SNORM 0x194 420*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8B8_SSCALED 0x195 421*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R8G8B8_USCALED 0x196 422*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R64G64B64A64_FLOAT 0x197 423*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R64G64B64_FLOAT 0x198 424*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_BC4_SNORM 0x199 425*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_BC5_SNORM 0x19A 426*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16B16_UNORM 0x19C 427*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16B16_SNORM 0x19D 428*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16B16_SSCALED 0x19E 429*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R16G16B16_USCALED 0x19F 430*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R32_SFIXED 0x1B2 431*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R10G10B10A2_SNORM 0x1B3 432*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R10G10B10A2_USCALED 0x1B4 433*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R10G10B10A2_SSCALED 0x1B5 434*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_R10G10B10A2_SINT 0x1B6 435*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B10G10R10A2_SNORM 0x1B7 436*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B10G10R10A2_USCALED 0x1B8 437*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B10G10R10A2_SSCALED 0x1B9 438*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B10G10R10A2_UINT 0x1BA 439*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACEFORMAT_B10G10R10A2_SINT 0x1BB 440*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_FORMAT_SHIFT 18 441*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_FORMAT_MASK INTEL_MASK(26, 18) 442*d83cc019SAndroid Build Coastguard Worker 443*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACERETURNFORMAT_FLOAT32 0 444*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACERETURNFORMAT_S1 1 445*d83cc019SAndroid Build Coastguard Worker 446*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_TYPE_SHIFT 29 447*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_TYPE_MASK INTEL_MASK(31, 29) 448*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_1D 0 449*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_2D 1 450*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_3D 2 451*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_CUBE 3 452*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_BUFFER 4 453*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_NULL 7 454*d83cc019SAndroid Build Coastguard Worker 455*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_IS_ARRAY (1 << 28) 456*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_VALIGN_2 (0 << 16) 457*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_VALIGN_4 (1 << 16) 458*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_HALIGN_4 (0 << 15) 459*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_HALIGN_8 (1 << 15) 460*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_TILING_NONE (0 << 13) 461*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_TILING_X (2 << 13) 462*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_TILING_Y (3 << 13) 463*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_ARYSPC_FULL (0 << 10) 464*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_ARYSPC_LOD0 (1 << 10) 465*d83cc019SAndroid Build Coastguard Worker 466*d83cc019SAndroid Build Coastguard Worker /* Surface state DW2 */ 467*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_HEIGHT_SHIFT 19 468*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_HEIGHT_MASK INTEL_MASK(31, 19) 469*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_WIDTH_SHIFT 6 470*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_WIDTH_MASK INTEL_MASK(18, 6) 471*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_LOD_SHIFT 2 472*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_LOD_MASK INTEL_MASK(5, 2) 473*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_HEIGHT_SHIFT 16 474*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_HEIGHT_MASK INTEL_MASK(29, 16) 475*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_WIDTH_SHIFT 0 476*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_WIDTH_MASK INTEL_MASK(13, 0) 477*d83cc019SAndroid Build Coastguard Worker 478*d83cc019SAndroid Build Coastguard Worker /* Surface state DW3 */ 479*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_DEPTH_SHIFT 21 480*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_DEPTH_MASK INTEL_MASK(31, 21) 481*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_PITCH_SHIFT 3 482*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_PITCH_MASK INTEL_MASK(19, 3) 483*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_TILED (1 << 1) 484*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_TILED_Y (1 << 0) 485*d83cc019SAndroid Build Coastguard Worker 486*d83cc019SAndroid Build Coastguard Worker /* Surface state DW4 */ 487*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_MIN_LOD_SHIFT 28 488*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_MIN_LOD_MASK INTEL_MASK(31, 28) 489*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_MULTISAMPLECOUNT_1 (0 << 4) 490*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_MULTISAMPLECOUNT_4 (2 << 4) 491*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_MULTISAMPLECOUNT_1 (0 << 3) 492*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_MULTISAMPLECOUNT_4 (2 << 3) 493*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_MULTISAMPLECOUNT_8 (3 << 3) 494*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_MSFMT_MSS (0 << 6) 495*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_MSFMT_DEPTH_STENCIL (1 << 6) 496*d83cc019SAndroid Build Coastguard Worker 497*d83cc019SAndroid Build Coastguard Worker /* Surface state DW5 */ 498*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_X_OFFSET_SHIFT 25 499*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_X_OFFSET_MASK INTEL_MASK(31, 25) 500*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_VERTICAL_ALIGN_ENABLE (1 << 24) 501*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_Y_OFFSET_SHIFT 20 502*d83cc019SAndroid Build Coastguard Worker #define BRW_SURFACE_Y_OFFSET_MASK INTEL_MASK(23, 20) 503*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_MIN_LOD_SHIFT 4 504*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_MIN_LOD_MASK INTEL_MASK(7, 4) 505*d83cc019SAndroid Build Coastguard Worker 506*d83cc019SAndroid Build Coastguard Worker /* Surface state DW6 */ 507*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_MCS_ENABLE (1 << 0) 508*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_MCS_PITCH_SHIFT 3 509*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_MCS_PITCH_MASK INTEL_MASK(11, 3) 510*d83cc019SAndroid Build Coastguard Worker 511*d83cc019SAndroid Build Coastguard Worker /* Surface state DW7 */ 512*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_SCS_R_SHIFT 25 513*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_SCS_R_MASK INTEL_MASK(27, 25) 514*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_SCS_G_SHIFT 22 515*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_SCS_G_MASK INTEL_MASK(24, 22) 516*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_SCS_B_SHIFT 19 517*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_SCS_B_MASK INTEL_MASK(21, 19) 518*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_SCS_A_SHIFT 16 519*d83cc019SAndroid Build Coastguard Worker #define GEN7_SURFACE_SCS_A_MASK INTEL_MASK(18, 16) 520*d83cc019SAndroid Build Coastguard Worker 521*d83cc019SAndroid Build Coastguard Worker /* The actual swizzle values/what channel to use */ 522*d83cc019SAndroid Build Coastguard Worker #define HSW_SCS_ZERO 0 523*d83cc019SAndroid Build Coastguard Worker #define HSW_SCS_ONE 1 524*d83cc019SAndroid Build Coastguard Worker #define HSW_SCS_RED 4 525*d83cc019SAndroid Build Coastguard Worker #define HSW_SCS_GREEN 5 526*d83cc019SAndroid Build Coastguard Worker #define HSW_SCS_BLUE 6 527*d83cc019SAndroid Build Coastguard Worker #define HSW_SCS_ALPHA 7 528*d83cc019SAndroid Build Coastguard Worker 529*d83cc019SAndroid Build Coastguard Worker #define BRW_TEXCOORDMODE_WRAP 0 530*d83cc019SAndroid Build Coastguard Worker #define BRW_TEXCOORDMODE_MIRROR 1 531*d83cc019SAndroid Build Coastguard Worker #define BRW_TEXCOORDMODE_CLAMP 2 532*d83cc019SAndroid Build Coastguard Worker #define BRW_TEXCOORDMODE_CUBE 3 533*d83cc019SAndroid Build Coastguard Worker #define BRW_TEXCOORDMODE_CLAMP_BORDER 4 534*d83cc019SAndroid Build Coastguard Worker #define BRW_TEXCOORDMODE_MIRROR_ONCE 5 535*d83cc019SAndroid Build Coastguard Worker 536*d83cc019SAndroid Build Coastguard Worker #define BRW_THREAD_PRIORITY_NORMAL 0 537*d83cc019SAndroid Build Coastguard Worker #define BRW_THREAD_PRIORITY_HIGH 1 538*d83cc019SAndroid Build Coastguard Worker 539*d83cc019SAndroid Build Coastguard Worker #define BRW_TILEWALK_XMAJOR 0 540*d83cc019SAndroid Build Coastguard Worker #define BRW_TILEWALK_YMAJOR 1 541*d83cc019SAndroid Build Coastguard Worker 542*d83cc019SAndroid Build Coastguard Worker #define BRW_VERTEX_SUBPIXEL_PRECISION_8BITS 0 543*d83cc019SAndroid Build Coastguard Worker #define BRW_VERTEX_SUBPIXEL_PRECISION_4BITS 1 544*d83cc019SAndroid Build Coastguard Worker 545*d83cc019SAndroid Build Coastguard Worker /* Execution Unit (EU) defines 546*d83cc019SAndroid Build Coastguard Worker */ 547*d83cc019SAndroid Build Coastguard Worker 548*d83cc019SAndroid Build Coastguard Worker #define BRW_ALIGN_1 0 549*d83cc019SAndroid Build Coastguard Worker #define BRW_ALIGN_16 1 550*d83cc019SAndroid Build Coastguard Worker 551*d83cc019SAndroid Build Coastguard Worker #define BRW_ADDRESS_DIRECT 0 552*d83cc019SAndroid Build Coastguard Worker #define BRW_ADDRESS_REGISTER_INDIRECT_REGISTER 1 553*d83cc019SAndroid Build Coastguard Worker 554*d83cc019SAndroid Build Coastguard Worker #define BRW_CHANNEL_X 0 555*d83cc019SAndroid Build Coastguard Worker #define BRW_CHANNEL_Y 1 556*d83cc019SAndroid Build Coastguard Worker #define BRW_CHANNEL_Z 2 557*d83cc019SAndroid Build Coastguard Worker #define BRW_CHANNEL_W 3 558*d83cc019SAndroid Build Coastguard Worker 559*d83cc019SAndroid Build Coastguard Worker enum brw_compression { 560*d83cc019SAndroid Build Coastguard Worker BRW_COMPRESSION_NONE = 0, 561*d83cc019SAndroid Build Coastguard Worker BRW_COMPRESSION_2NDHALF = 1, 562*d83cc019SAndroid Build Coastguard Worker BRW_COMPRESSION_COMPRESSED = 2, 563*d83cc019SAndroid Build Coastguard Worker }; 564*d83cc019SAndroid Build Coastguard Worker 565*d83cc019SAndroid Build Coastguard Worker #define GEN6_COMPRESSION_1Q 0 566*d83cc019SAndroid Build Coastguard Worker #define GEN6_COMPRESSION_2Q 1 567*d83cc019SAndroid Build Coastguard Worker #define GEN6_COMPRESSION_3Q 2 568*d83cc019SAndroid Build Coastguard Worker #define GEN6_COMPRESSION_4Q 3 569*d83cc019SAndroid Build Coastguard Worker #define GEN6_COMPRESSION_1H 0 570*d83cc019SAndroid Build Coastguard Worker #define GEN6_COMPRESSION_2H 2 571*d83cc019SAndroid Build Coastguard Worker 572*d83cc019SAndroid Build Coastguard Worker #define BRW_CONDITIONAL_NONE 0 573*d83cc019SAndroid Build Coastguard Worker #define BRW_CONDITIONAL_Z 1 574*d83cc019SAndroid Build Coastguard Worker #define BRW_CONDITIONAL_NZ 2 575*d83cc019SAndroid Build Coastguard Worker #define BRW_CONDITIONAL_EQ 1 /* Z */ 576*d83cc019SAndroid Build Coastguard Worker #define BRW_CONDITIONAL_NEQ 2 /* NZ */ 577*d83cc019SAndroid Build Coastguard Worker #define BRW_CONDITIONAL_G 3 578*d83cc019SAndroid Build Coastguard Worker #define BRW_CONDITIONAL_GE 4 579*d83cc019SAndroid Build Coastguard Worker #define BRW_CONDITIONAL_L 5 580*d83cc019SAndroid Build Coastguard Worker #define BRW_CONDITIONAL_LE 6 581*d83cc019SAndroid Build Coastguard Worker #define BRW_CONDITIONAL_R 7 582*d83cc019SAndroid Build Coastguard Worker #define BRW_CONDITIONAL_O 8 583*d83cc019SAndroid Build Coastguard Worker #define BRW_CONDITIONAL_U 9 584*d83cc019SAndroid Build Coastguard Worker 585*d83cc019SAndroid Build Coastguard Worker #define BRW_DEBUG_NONE 0 586*d83cc019SAndroid Build Coastguard Worker #define BRW_DEBUG_BREAKPOINT 1 587*d83cc019SAndroid Build Coastguard Worker 588*d83cc019SAndroid Build Coastguard Worker #define BRW_DEPENDENCY_NORMAL 0 589*d83cc019SAndroid Build Coastguard Worker #define BRW_DEPENDENCY_NOTCLEARED 1 590*d83cc019SAndroid Build Coastguard Worker #define BRW_DEPENDENCY_NOTCHECKED 2 591*d83cc019SAndroid Build Coastguard Worker #define BRW_DEPENDENCY_DISABLE 3 592*d83cc019SAndroid Build Coastguard Worker 593*d83cc019SAndroid Build Coastguard Worker #define BRW_EXECUTE_1 0 594*d83cc019SAndroid Build Coastguard Worker #define BRW_EXECUTE_2 1 595*d83cc019SAndroid Build Coastguard Worker #define BRW_EXECUTE_4 2 596*d83cc019SAndroid Build Coastguard Worker #define BRW_EXECUTE_8 3 597*d83cc019SAndroid Build Coastguard Worker #define BRW_EXECUTE_16 4 598*d83cc019SAndroid Build Coastguard Worker #define BRW_EXECUTE_32 5 599*d83cc019SAndroid Build Coastguard Worker 600*d83cc019SAndroid Build Coastguard Worker #define BRW_HORIZONTAL_STRIDE_0 0 601*d83cc019SAndroid Build Coastguard Worker #define BRW_HORIZONTAL_STRIDE_1 1 602*d83cc019SAndroid Build Coastguard Worker #define BRW_HORIZONTAL_STRIDE_2 2 603*d83cc019SAndroid Build Coastguard Worker #define BRW_HORIZONTAL_STRIDE_4 3 604*d83cc019SAndroid Build Coastguard Worker 605*d83cc019SAndroid Build Coastguard Worker #define BRW_INSTRUCTION_NORMAL 0 606*d83cc019SAndroid Build Coastguard Worker #define BRW_INSTRUCTION_SATURATE 1 607*d83cc019SAndroid Build Coastguard Worker 608*d83cc019SAndroid Build Coastguard Worker #define BRW_MASK_ENABLE 0 609*d83cc019SAndroid Build Coastguard Worker #define BRW_MASK_DISABLE 1 610*d83cc019SAndroid Build Coastguard Worker 611*d83cc019SAndroid Build Coastguard Worker #define BRW_ACCUMULATOR_WRITE_DISABLE 0 612*d83cc019SAndroid Build Coastguard Worker #define BRW_ACCUMULATOR_WRITE_ENABLE 1 613*d83cc019SAndroid Build Coastguard Worker 614*d83cc019SAndroid Build Coastguard Worker /** @{ 615*d83cc019SAndroid Build Coastguard Worker * 616*d83cc019SAndroid Build Coastguard Worker * Gen6 has replaced "mask enable/disable" with WECtrl, which is 617*d83cc019SAndroid Build Coastguard Worker * effectively the same but much simpler to think about. Now, there 618*d83cc019SAndroid Build Coastguard Worker * are two contributors ANDed together to whether channels are 619*d83cc019SAndroid Build Coastguard Worker * executed: The predication on the instruction, and the channel write 620*d83cc019SAndroid Build Coastguard Worker * enable. 621*d83cc019SAndroid Build Coastguard Worker */ 622*d83cc019SAndroid Build Coastguard Worker /** 623*d83cc019SAndroid Build Coastguard Worker * This is the default value. It means that a channel's write enable is set 624*d83cc019SAndroid Build Coastguard Worker * if the per-channel IP is pointing at this instruction. 625*d83cc019SAndroid Build Coastguard Worker */ 626*d83cc019SAndroid Build Coastguard Worker #define BRW_WE_NORMAL 0 627*d83cc019SAndroid Build Coastguard Worker /** 628*d83cc019SAndroid Build Coastguard Worker * This is used like BRW_MASK_DISABLE, and causes all channels to have 629*d83cc019SAndroid Build Coastguard Worker * their write enable set. Note that predication still contributes to 630*d83cc019SAndroid Build Coastguard Worker * whether the channel actually gets written. 631*d83cc019SAndroid Build Coastguard Worker */ 632*d83cc019SAndroid Build Coastguard Worker #define BRW_WE_ALL 1 633*d83cc019SAndroid Build Coastguard Worker /** @} */ 634*d83cc019SAndroid Build Coastguard Worker 635*d83cc019SAndroid Build Coastguard Worker enum opcode { 636*d83cc019SAndroid Build Coastguard Worker /* These are the actual hardware opcodes. */ 637*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_MOV = 1, 638*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_SEL = 2, 639*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_NOT = 4, 640*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_AND = 5, 641*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_OR = 6, 642*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_XOR = 7, 643*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_SHR = 8, 644*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_SHL = 9, 645*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_RSR = 10, 646*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_RSL = 11, 647*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_ASR = 12, 648*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_CMP = 16, 649*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_CMPN = 17, 650*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_F32TO16 = 19, 651*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_F16TO32 = 20, 652*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_BFREV = 23, 653*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_BFE = 24, 654*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_BFI1 = 25, 655*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_BFI2 = 26, 656*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_JMPI = 32, 657*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_BRD = 33, 658*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_IF = 34, 659*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_IFF = 35, 660*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_BRC = 35, 661*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_ELSE = 36, 662*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_ENDIF = 37, 663*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_DO = 38, 664*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_WHILE = 39, 665*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_BREAK = 40, 666*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_CONTINUE = 41, 667*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_HALT = 42, 668*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_MSAVE = 44, 669*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_CALL = 44, 670*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_MRESTORE = 45, 671*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_RET = 45, 672*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_PUSH = 46, 673*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_POP = 47, 674*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_WAIT = 48, 675*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_SEND = 49, 676*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_SENDC = 50, 677*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_MATH = 56, 678*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_ADD = 64, 679*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_MUL = 65, 680*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_AVG = 66, 681*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_FRC = 67, 682*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_RNDU = 68, 683*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_RNDD = 69, 684*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_RNDE = 70, 685*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_RNDZ = 71, 686*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_MAC = 72, 687*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_MACH = 73, 688*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_LZD = 74, 689*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_FBH = 75, 690*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_FBL = 76, 691*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_CBIT = 77, 692*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_ADDC = 78, 693*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_SUBB = 79, 694*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_SAD2 = 80, 695*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_SADA2 = 81, 696*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_DP4 = 84, 697*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_DPH = 85, 698*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_DP3 = 86, 699*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_DP2 = 87, 700*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_DPA2 = 88, 701*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_LINE = 89, 702*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_PLN = 90, 703*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_MAD = 91, 704*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_LRP = 92, 705*d83cc019SAndroid Build Coastguard Worker BRW_OPCODE_NOP = 126, 706*d83cc019SAndroid Build Coastguard Worker 707*d83cc019SAndroid Build Coastguard Worker /* These are compiler backend opcodes that get translated into other 708*d83cc019SAndroid Build Coastguard Worker * instructions. 709*d83cc019SAndroid Build Coastguard Worker */ 710*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_FB_WRITE = 128, 711*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_RCP, 712*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_RSQ, 713*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_SQRT, 714*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_EXP2, 715*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_LOG2, 716*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_POW, 717*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_INT_QUOTIENT, 718*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_INT_REMAINDER, 719*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_SIN, 720*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_COS, 721*d83cc019SAndroid Build Coastguard Worker 722*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_TEX, 723*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_TXD, 724*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_TXF, 725*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_TXL, 726*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_TXS, 727*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_TXB, 728*d83cc019SAndroid Build Coastguard Worker 729*d83cc019SAndroid Build Coastguard Worker SHADER_OPCODE_SHADER_TIME_ADD, 730*d83cc019SAndroid Build Coastguard Worker 731*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_DDX, 732*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_DDY, 733*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_PIXEL_X, 734*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_PIXEL_Y, 735*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_CINTERP, 736*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_LINTERP, 737*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_SPILL, 738*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_UNSPILL, 739*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_UNIFORM_PULL_CONSTANT_LOAD, 740*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_UNIFORM_PULL_CONSTANT_LOAD_GEN7, 741*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_VARYING_PULL_CONSTANT_LOAD, 742*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_VARYING_PULL_CONSTANT_LOAD_GEN7, 743*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_MOV_DISPATCH_TO_FLAGS, 744*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_DISCARD_JUMP, 745*d83cc019SAndroid Build Coastguard Worker FS_OPCODE_SET_GLOBAL_OFFSET, 746*d83cc019SAndroid Build Coastguard Worker 747*d83cc019SAndroid Build Coastguard Worker VS_OPCODE_URB_WRITE, 748*d83cc019SAndroid Build Coastguard Worker VS_OPCODE_SCRATCH_READ, 749*d83cc019SAndroid Build Coastguard Worker VS_OPCODE_SCRATCH_WRITE, 750*d83cc019SAndroid Build Coastguard Worker VS_OPCODE_PULL_CONSTANT_LOAD, 751*d83cc019SAndroid Build Coastguard Worker }; 752*d83cc019SAndroid Build Coastguard Worker 753*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_NONE 0 754*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_NORMAL 1 755*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN1_ANYV 2 756*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN1_ALLV 3 757*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN1_ANY2H 4 758*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN1_ALL2H 5 759*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN1_ANY4H 6 760*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN1_ALL4H 7 761*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN1_ANY8H 8 762*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN1_ALL8H 9 763*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN1_ANY16H 10 764*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN1_ALL16H 11 765*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN16_REPLICATE_X 2 766*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN16_REPLICATE_Y 3 767*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN16_REPLICATE_Z 4 768*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN16_REPLICATE_W 5 769*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN16_ANY4H 6 770*d83cc019SAndroid Build Coastguard Worker #define BRW_PREDICATE_ALIGN16_ALL4H 7 771*d83cc019SAndroid Build Coastguard Worker 772*d83cc019SAndroid Build Coastguard Worker #define BRW_ARCHITECTURE_REGISTER_FILE 0 773*d83cc019SAndroid Build Coastguard Worker #define BRW_GENERAL_REGISTER_FILE 1 774*d83cc019SAndroid Build Coastguard Worker #define BRW_MESSAGE_REGISTER_FILE 2 775*d83cc019SAndroid Build Coastguard Worker #define BRW_IMMEDIATE_VALUE 3 776*d83cc019SAndroid Build Coastguard Worker 777*d83cc019SAndroid Build Coastguard Worker #define BRW_REGISTER_TYPE_UD 0 778*d83cc019SAndroid Build Coastguard Worker #define BRW_REGISTER_TYPE_D 1 779*d83cc019SAndroid Build Coastguard Worker #define BRW_REGISTER_TYPE_UW 2 780*d83cc019SAndroid Build Coastguard Worker #define BRW_REGISTER_TYPE_W 3 781*d83cc019SAndroid Build Coastguard Worker #define BRW_REGISTER_TYPE_UB 4 782*d83cc019SAndroid Build Coastguard Worker #define BRW_REGISTER_TYPE_B 5 783*d83cc019SAndroid Build Coastguard Worker #define BRW_REGISTER_TYPE_VF 5 /* packed float vector, immediates only? */ 784*d83cc019SAndroid Build Coastguard Worker #define BRW_REGISTER_TYPE_HF 6 785*d83cc019SAndroid Build Coastguard Worker #define BRW_REGISTER_TYPE_V 6 /* packed int vector, immediates only, uword dest only */ 786*d83cc019SAndroid Build Coastguard Worker #define BRW_REGISTER_TYPE_F 7 787*d83cc019SAndroid Build Coastguard Worker 788*d83cc019SAndroid Build Coastguard Worker #define BRW_REGISTER_3SRC_TYPE_F 0 789*d83cc019SAndroid Build Coastguard Worker #define BRW_REGISTER_3SRC_TYPE_D 1 790*d83cc019SAndroid Build Coastguard Worker #define BRW_REGISTER_3SRC_TYPE_UD 2 791*d83cc019SAndroid Build Coastguard Worker #define BRW_REGISTER_3SRC_TYPE_DF 3 792*d83cc019SAndroid Build Coastguard Worker 793*d83cc019SAndroid Build Coastguard Worker #define BRW_ARF_NULL 0x00 794*d83cc019SAndroid Build Coastguard Worker #define BRW_ARF_ADDRESS 0x10 795*d83cc019SAndroid Build Coastguard Worker #define BRW_ARF_ACCUMULATOR 0x20 796*d83cc019SAndroid Build Coastguard Worker #define BRW_ARF_FLAG 0x30 797*d83cc019SAndroid Build Coastguard Worker #define BRW_ARF_MASK 0x40 798*d83cc019SAndroid Build Coastguard Worker #define BRW_ARF_MASK_STACK 0x50 799*d83cc019SAndroid Build Coastguard Worker #define BRW_ARF_MASK_STACK_DEPTH 0x60 800*d83cc019SAndroid Build Coastguard Worker #define BRW_ARF_STATE 0x70 801*d83cc019SAndroid Build Coastguard Worker #define BRW_ARF_CONTROL 0x80 802*d83cc019SAndroid Build Coastguard Worker #define BRW_ARF_NOTIFICATION_COUNT 0x90 803*d83cc019SAndroid Build Coastguard Worker #define BRW_ARF_IP 0xA0 804*d83cc019SAndroid Build Coastguard Worker #define BRW_ARF_TDR 0xB0 805*d83cc019SAndroid Build Coastguard Worker #define BRW_ARF_TIMESTAMP 0xC0 806*d83cc019SAndroid Build Coastguard Worker 807*d83cc019SAndroid Build Coastguard Worker #define BRW_MRF_COMPR4 (1 << 7) 808*d83cc019SAndroid Build Coastguard Worker 809*d83cc019SAndroid Build Coastguard Worker #define BRW_AMASK 0 810*d83cc019SAndroid Build Coastguard Worker #define BRW_IMASK 1 811*d83cc019SAndroid Build Coastguard Worker #define BRW_LMASK 2 812*d83cc019SAndroid Build Coastguard Worker #define BRW_CMASK 3 813*d83cc019SAndroid Build Coastguard Worker 814*d83cc019SAndroid Build Coastguard Worker 815*d83cc019SAndroid Build Coastguard Worker 816*d83cc019SAndroid Build Coastguard Worker #define BRW_THREAD_NORMAL 0 817*d83cc019SAndroid Build Coastguard Worker #define BRW_THREAD_ATOMIC 1 818*d83cc019SAndroid Build Coastguard Worker #define BRW_THREAD_SWITCH 2 819*d83cc019SAndroid Build Coastguard Worker 820*d83cc019SAndroid Build Coastguard Worker #define BRW_VERTICAL_STRIDE_0 0 821*d83cc019SAndroid Build Coastguard Worker #define BRW_VERTICAL_STRIDE_1 1 822*d83cc019SAndroid Build Coastguard Worker #define BRW_VERTICAL_STRIDE_2 2 823*d83cc019SAndroid Build Coastguard Worker #define BRW_VERTICAL_STRIDE_4 3 824*d83cc019SAndroid Build Coastguard Worker #define BRW_VERTICAL_STRIDE_8 4 825*d83cc019SAndroid Build Coastguard Worker #define BRW_VERTICAL_STRIDE_16 5 826*d83cc019SAndroid Build Coastguard Worker #define BRW_VERTICAL_STRIDE_32 6 827*d83cc019SAndroid Build Coastguard Worker #define BRW_VERTICAL_STRIDE_64 7 828*d83cc019SAndroid Build Coastguard Worker #define BRW_VERTICAL_STRIDE_128 8 829*d83cc019SAndroid Build Coastguard Worker #define BRW_VERTICAL_STRIDE_256 9 830*d83cc019SAndroid Build Coastguard Worker #define BRW_VERTICAL_STRIDE_ONE_DIMENSIONAL 0xF 831*d83cc019SAndroid Build Coastguard Worker 832*d83cc019SAndroid Build Coastguard Worker #define BRW_WIDTH_1 0 833*d83cc019SAndroid Build Coastguard Worker #define BRW_WIDTH_2 1 834*d83cc019SAndroid Build Coastguard Worker #define BRW_WIDTH_4 2 835*d83cc019SAndroid Build Coastguard Worker #define BRW_WIDTH_8 3 836*d83cc019SAndroid Build Coastguard Worker #define BRW_WIDTH_16 4 837*d83cc019SAndroid Build Coastguard Worker 838*d83cc019SAndroid Build Coastguard Worker #define BRW_STATELESS_BUFFER_BOUNDARY_1K 0 839*d83cc019SAndroid Build Coastguard Worker #define BRW_STATELESS_BUFFER_BOUNDARY_2K 1 840*d83cc019SAndroid Build Coastguard Worker #define BRW_STATELESS_BUFFER_BOUNDARY_4K 2 841*d83cc019SAndroid Build Coastguard Worker #define BRW_STATELESS_BUFFER_BOUNDARY_8K 3 842*d83cc019SAndroid Build Coastguard Worker #define BRW_STATELESS_BUFFER_BOUNDARY_16K 4 843*d83cc019SAndroid Build Coastguard Worker #define BRW_STATELESS_BUFFER_BOUNDARY_32K 5 844*d83cc019SAndroid Build Coastguard Worker #define BRW_STATELESS_BUFFER_BOUNDARY_64K 6 845*d83cc019SAndroid Build Coastguard Worker #define BRW_STATELESS_BUFFER_BOUNDARY_128K 7 846*d83cc019SAndroid Build Coastguard Worker #define BRW_STATELESS_BUFFER_BOUNDARY_256K 8 847*d83cc019SAndroid Build Coastguard Worker #define BRW_STATELESS_BUFFER_BOUNDARY_512K 9 848*d83cc019SAndroid Build Coastguard Worker #define BRW_STATELESS_BUFFER_BOUNDARY_1M 10 849*d83cc019SAndroid Build Coastguard Worker #define BRW_STATELESS_BUFFER_BOUNDARY_2M 11 850*d83cc019SAndroid Build Coastguard Worker 851*d83cc019SAndroid Build Coastguard Worker #define BRW_POLYGON_FACING_FRONT 0 852*d83cc019SAndroid Build Coastguard Worker #define BRW_POLYGON_FACING_BACK 1 853*d83cc019SAndroid Build Coastguard Worker 854*d83cc019SAndroid Build Coastguard Worker /** 855*d83cc019SAndroid Build Coastguard Worker * Message target: Shared Function ID for where to SEND a message. 856*d83cc019SAndroid Build Coastguard Worker * 857*d83cc019SAndroid Build Coastguard Worker * These are enumerated in the ISA reference under "send - Send Message". 858*d83cc019SAndroid Build Coastguard Worker * In particular, see the following tables: 859*d83cc019SAndroid Build Coastguard Worker * - G45 PRM, Volume 4, Table 14-15 "Message Descriptor Definition" 860*d83cc019SAndroid Build Coastguard Worker * - Sandybridge PRM, Volume 4 Part 2, Table 8-16 "Extended Message Descriptor" 861*d83cc019SAndroid Build Coastguard Worker * - BSpec, Volume 1a (GPU Overview) / Graphics Processing Engine (GPE) / 862*d83cc019SAndroid Build Coastguard Worker * Overview / GPE Function IDs 863*d83cc019SAndroid Build Coastguard Worker */ 864*d83cc019SAndroid Build Coastguard Worker enum brw_message_target { 865*d83cc019SAndroid Build Coastguard Worker BRW_SFID_NULL = 0, 866*d83cc019SAndroid Build Coastguard Worker BRW_SFID_MATH = 1, /* Only valid on Gen4-5 */ 867*d83cc019SAndroid Build Coastguard Worker BRW_SFID_SAMPLER = 2, 868*d83cc019SAndroid Build Coastguard Worker BRW_SFID_MESSAGE_GATEWAY = 3, 869*d83cc019SAndroid Build Coastguard Worker BRW_SFID_DATAPORT_READ = 4, 870*d83cc019SAndroid Build Coastguard Worker BRW_SFID_DATAPORT_WRITE = 5, 871*d83cc019SAndroid Build Coastguard Worker BRW_SFID_URB = 6, 872*d83cc019SAndroid Build Coastguard Worker BRW_SFID_THREAD_SPAWNER = 7, 873*d83cc019SAndroid Build Coastguard Worker 874*d83cc019SAndroid Build Coastguard Worker GEN6_SFID_DATAPORT_SAMPLER_CACHE = 4, 875*d83cc019SAndroid Build Coastguard Worker GEN6_SFID_DATAPORT_RENDER_CACHE = 5, 876*d83cc019SAndroid Build Coastguard Worker GEN6_SFID_VME = 8, 877*d83cc019SAndroid Build Coastguard Worker GEN6_SFID_DATAPORT_CONSTANT_CACHE = 9, 878*d83cc019SAndroid Build Coastguard Worker 879*d83cc019SAndroid Build Coastguard Worker GEN7_SFID_DATAPORT_DATA_CACHE = 10, 880*d83cc019SAndroid Build Coastguard Worker 881*d83cc019SAndroid Build Coastguard Worker HSW_SFID_DATAPORT_DATA_CACHE1 = 0x0c, 882*d83cc019SAndroid Build Coastguard Worker HSW_SFID_CRE = 0x0d, 883*d83cc019SAndroid Build Coastguard Worker 884*d83cc019SAndroid Build Coastguard Worker /* There is no Sampler data port cache(0x04) on SKL and it is used 885*d83cc019SAndroid Build Coastguard Worker * as the extension of DP_DC0/DP_DC1. 886*d83cc019SAndroid Build Coastguard Worker */ 887*d83cc019SAndroid Build Coastguard Worker SKL_SFID_DATAPORT_DATA_CACHE2 = 0x4, 888*d83cc019SAndroid Build Coastguard Worker /* Data Read only Data port cache */ 889*d83cc019SAndroid Build Coastguard Worker SKL_SFID_DATAPORT_DCR0 = 0x9, 890*d83cc019SAndroid Build Coastguard Worker }; 891*d83cc019SAndroid Build Coastguard Worker 892*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_RETURN_FORMAT_FLOAT32 0 893*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_RETURN_FORMAT_UINT32 2 894*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_RETURN_FORMAT_SINT32 3 895*d83cc019SAndroid Build Coastguard Worker 896*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD8_SAMPLE 0 897*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD16_SAMPLE 0 898*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD16_SAMPLE_BIAS 0 899*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD8_KILLPIX 1 900*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD4X2_SAMPLE_LOD 1 901*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD16_SAMPLE_LOD 1 902*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD4X2_SAMPLE_GRADIENTS 2 903*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD8_SAMPLE_GRADIENTS 2 904*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD4X2_SAMPLE_COMPARE 0 905*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD16_SAMPLE_COMPARE 2 906*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD8_SAMPLE_BIAS_COMPARE 0 907*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD4X2_SAMPLE_LOD_COMPARE 1 908*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD8_SAMPLE_LOD_COMPARE 1 909*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD4X2_RESINFO 2 910*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD16_RESINFO 2 911*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD4X2_LD 3 912*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD8_LD 3 913*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_MESSAGE_SIMD16_LD 3 914*d83cc019SAndroid Build Coastguard Worker 915*d83cc019SAndroid Build Coastguard Worker #define GEN5_SAMPLER_MESSAGE_SAMPLE 0 916*d83cc019SAndroid Build Coastguard Worker #define GEN5_SAMPLER_MESSAGE_SAMPLE_BIAS 1 917*d83cc019SAndroid Build Coastguard Worker #define GEN5_SAMPLER_MESSAGE_SAMPLE_LOD 2 918*d83cc019SAndroid Build Coastguard Worker #define GEN5_SAMPLER_MESSAGE_SAMPLE_COMPARE 3 919*d83cc019SAndroid Build Coastguard Worker #define GEN5_SAMPLER_MESSAGE_SAMPLE_DERIVS 4 920*d83cc019SAndroid Build Coastguard Worker #define GEN5_SAMPLER_MESSAGE_SAMPLE_BIAS_COMPARE 5 921*d83cc019SAndroid Build Coastguard Worker #define GEN5_SAMPLER_MESSAGE_SAMPLE_LOD_COMPARE 6 922*d83cc019SAndroid Build Coastguard Worker #define GEN5_SAMPLER_MESSAGE_SAMPLE_LD 7 923*d83cc019SAndroid Build Coastguard Worker #define GEN5_SAMPLER_MESSAGE_SAMPLE_RESINFO 10 924*d83cc019SAndroid Build Coastguard Worker #define HSW_SAMPLER_MESSAGE_SAMPLE_DERIV_COMPARE 20 925*d83cc019SAndroid Build Coastguard Worker #define GEN7_SAMPLER_MESSAGE_SAMPLE_LD_MCS 29 926*d83cc019SAndroid Build Coastguard Worker #define GEN7_SAMPLER_MESSAGE_SAMPLE_LD2DMS 30 927*d83cc019SAndroid Build Coastguard Worker #define GEN7_SAMPLER_MESSAGE_SAMPLE_LD2DSS 31 928*d83cc019SAndroid Build Coastguard Worker 929*d83cc019SAndroid Build Coastguard Worker /* for GEN5 only */ 930*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_SIMD_MODE_SIMD4X2 0 931*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_SIMD_MODE_SIMD8 1 932*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_SIMD_MODE_SIMD16 2 933*d83cc019SAndroid Build Coastguard Worker #define BRW_SAMPLER_SIMD_MODE_SIMD32_64 3 934*d83cc019SAndroid Build Coastguard Worker 935*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_OWORD_BLOCK_1_OWORDLOW 0 936*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_OWORD_BLOCK_1_OWORDHIGH 1 937*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_OWORD_BLOCK_2_OWORDS 2 938*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_OWORD_BLOCK_4_OWORDS 3 939*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_OWORD_BLOCK_8_OWORDS 4 940*d83cc019SAndroid Build Coastguard Worker 941*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_OWORD_DUAL_BLOCK_1OWORD 0 942*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_OWORD_DUAL_BLOCK_4OWORDS 2 943*d83cc019SAndroid Build Coastguard Worker 944*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_DWORD_SCATTERED_BLOCK_8DWORDS 2 945*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_DWORD_SCATTERED_BLOCK_16DWORDS 3 946*d83cc019SAndroid Build Coastguard Worker 947*d83cc019SAndroid Build Coastguard Worker /* This one stays the same across generations. */ 948*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_READ_MESSAGE_OWORD_BLOCK_READ 0 949*d83cc019SAndroid Build Coastguard Worker /* GEN4 */ 950*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_READ_MESSAGE_OWORD_DUAL_BLOCK_READ 1 951*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_READ_MESSAGE_MEDIA_BLOCK_READ 2 952*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_READ_MESSAGE_DWORD_SCATTERED_READ 3 953*d83cc019SAndroid Build Coastguard Worker /* G45, GEN5 */ 954*d83cc019SAndroid Build Coastguard Worker #define G45_DATAPORT_READ_MESSAGE_RENDER_UNORM_READ 1 955*d83cc019SAndroid Build Coastguard Worker #define G45_DATAPORT_READ_MESSAGE_OWORD_DUAL_BLOCK_READ 2 956*d83cc019SAndroid Build Coastguard Worker #define G45_DATAPORT_READ_MESSAGE_AVC_LOOP_FILTER_READ 3 957*d83cc019SAndroid Build Coastguard Worker #define G45_DATAPORT_READ_MESSAGE_MEDIA_BLOCK_READ 4 958*d83cc019SAndroid Build Coastguard Worker #define G45_DATAPORT_READ_MESSAGE_DWORD_SCATTERED_READ 6 959*d83cc019SAndroid Build Coastguard Worker /* GEN6 */ 960*d83cc019SAndroid Build Coastguard Worker #define GEN6_DATAPORT_READ_MESSAGE_RENDER_UNORM_READ 1 961*d83cc019SAndroid Build Coastguard Worker #define GEN6_DATAPORT_READ_MESSAGE_OWORD_DUAL_BLOCK_READ 2 962*d83cc019SAndroid Build Coastguard Worker #define GEN6_DATAPORT_READ_MESSAGE_MEDIA_BLOCK_READ 4 963*d83cc019SAndroid Build Coastguard Worker #define GEN6_DATAPORT_READ_MESSAGE_OWORD_UNALIGN_BLOCK_READ 5 964*d83cc019SAndroid Build Coastguard Worker #define GEN6_DATAPORT_READ_MESSAGE_DWORD_SCATTERED_READ 6 965*d83cc019SAndroid Build Coastguard Worker 966*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_READ_TARGET_DATA_CACHE 0 967*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_READ_TARGET_RENDER_CACHE 1 968*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_READ_TARGET_SAMPLER_CACHE 2 969*d83cc019SAndroid Build Coastguard Worker 970*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_RENDER_TARGET_WRITE_SIMD16_SINGLE_SOURCE 0 971*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_RENDER_TARGET_WRITE_SIMD16_SINGLE_SOURCE_REPLICATED 1 972*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_RENDER_TARGET_WRITE_SIMD8_DUAL_SOURCE_SUBSPAN01 2 973*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_RENDER_TARGET_WRITE_SIMD8_DUAL_SOURCE_SUBSPAN23 3 974*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_RENDER_TARGET_WRITE_SIMD8_SINGLE_SOURCE_SUBSPAN01 4 975*d83cc019SAndroid Build Coastguard Worker 976*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_WRITE_MESSAGE_OWORD_BLOCK_WRITE 0 977*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_WRITE_MESSAGE_OWORD_DUAL_BLOCK_WRITE 1 978*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_WRITE_MESSAGE_MEDIA_BLOCK_WRITE 2 979*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_WRITE_MESSAGE_DWORD_SCATTERED_WRITE 3 980*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_WRITE_MESSAGE_RENDER_TARGET_WRITE 4 981*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_WRITE_MESSAGE_STREAMED_VERTEX_BUFFER_WRITE 5 982*d83cc019SAndroid Build Coastguard Worker #define BRW_DATAPORT_WRITE_MESSAGE_FLUSH_RENDER_CACHE 7 983*d83cc019SAndroid Build Coastguard Worker 984*d83cc019SAndroid Build Coastguard Worker /* GEN6 */ 985*d83cc019SAndroid Build Coastguard Worker #define GEN6_DATAPORT_WRITE_MESSAGE_DWORD_ATOMIC_WRITE 7 986*d83cc019SAndroid Build Coastguard Worker #define GEN6_DATAPORT_WRITE_MESSAGE_OWORD_BLOCK_WRITE 8 987*d83cc019SAndroid Build Coastguard Worker #define GEN6_DATAPORT_WRITE_MESSAGE_OWORD_DUAL_BLOCK_WRITE 9 988*d83cc019SAndroid Build Coastguard Worker #define GEN6_DATAPORT_WRITE_MESSAGE_MEDIA_BLOCK_WRITE 10 989*d83cc019SAndroid Build Coastguard Worker #define GEN6_DATAPORT_WRITE_MESSAGE_DWORD_SCATTERED_WRITE 11 990*d83cc019SAndroid Build Coastguard Worker #define GEN6_DATAPORT_WRITE_MESSAGE_RENDER_TARGET_WRITE 12 991*d83cc019SAndroid Build Coastguard Worker #define GEN6_DATAPORT_WRITE_MESSAGE_STREAMED_VB_WRITE 13 992*d83cc019SAndroid Build Coastguard Worker #define GEN6_DATAPORT_WRITE_MESSAGE_RENDER_TARGET_UNORM_WRITE 14 993*d83cc019SAndroid Build Coastguard Worker 994*d83cc019SAndroid Build Coastguard Worker /* GEN7 */ 995*d83cc019SAndroid Build Coastguard Worker #define GEN7_DATAPORT_WRITE_MESSAGE_OWORD_DUAL_BLOCK_WRITE 10 996*d83cc019SAndroid Build Coastguard Worker #define GEN7_DATAPORT_DC_DWORD_SCATTERED_READ 3 997*d83cc019SAndroid Build Coastguard Worker 998*d83cc019SAndroid Build Coastguard Worker /* dataport atomic operations. */ 999*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_AND 1 1000*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_OR 2 1001*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_XOR 3 1002*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_MOV 4 1003*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_INC 5 1004*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_DEC 6 1005*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_ADD 7 1006*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_SUB 8 1007*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_REVSUB 9 1008*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_IMAX 10 1009*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_IMIN 11 1010*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_UMAX 12 1011*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_UMIN 13 1012*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_CMPWR 14 1013*d83cc019SAndroid Build Coastguard Worker #define BRW_AOP_PREDEC 15 1014*d83cc019SAndroid Build Coastguard Worker 1015*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_FUNCTION_INV 1 1016*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_FUNCTION_LOG 2 1017*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_FUNCTION_EXP 3 1018*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_FUNCTION_SQRT 4 1019*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_FUNCTION_RSQ 5 1020*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_FUNCTION_SIN 6 /* was 7 */ 1021*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_FUNCTION_COS 7 /* was 8 */ 1022*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_FUNCTION_SINCOS 8 /* was 6 */ 1023*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_FUNCTION_TAN 9 /* gen4 */ 1024*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_FUNCTION_FDIV 9 /* gen6+ */ 1025*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_FUNCTION_POW 10 1026*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_FUNCTION_INT_DIV_QUOTIENT_AND_REMAINDER 11 1027*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_FUNCTION_INT_DIV_QUOTIENT 12 1028*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_FUNCTION_INT_DIV_REMAINDER 13 1029*d83cc019SAndroid Build Coastguard Worker 1030*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_INTEGER_UNSIGNED 0 1031*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_INTEGER_SIGNED 1 1032*d83cc019SAndroid Build Coastguard Worker 1033*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_PRECISION_FULL 0 1034*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_PRECISION_PARTIAL 1 1035*d83cc019SAndroid Build Coastguard Worker 1036*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_SATURATE_NONE 0 1037*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_SATURATE_SATURATE 1 1038*d83cc019SAndroid Build Coastguard Worker 1039*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_DATA_VECTOR 0 1040*d83cc019SAndroid Build Coastguard Worker #define BRW_MATH_DATA_SCALAR 1 1041*d83cc019SAndroid Build Coastguard Worker 1042*d83cc019SAndroid Build Coastguard Worker #define BRW_URB_OPCODE_WRITE 0 1043*d83cc019SAndroid Build Coastguard Worker 1044*d83cc019SAndroid Build Coastguard Worker #define BRW_URB_SWIZZLE_NONE 0 1045*d83cc019SAndroid Build Coastguard Worker #define BRW_URB_SWIZZLE_INTERLEAVE 1 1046*d83cc019SAndroid Build Coastguard Worker #define BRW_URB_SWIZZLE_TRANSPOSE 2 1047*d83cc019SAndroid Build Coastguard Worker 1048*d83cc019SAndroid Build Coastguard Worker #define BRW_SCRATCH_SPACE_SIZE_1K 0 1049*d83cc019SAndroid Build Coastguard Worker #define BRW_SCRATCH_SPACE_SIZE_2K 1 1050*d83cc019SAndroid Build Coastguard Worker #define BRW_SCRATCH_SPACE_SIZE_4K 2 1051*d83cc019SAndroid Build Coastguard Worker #define BRW_SCRATCH_SPACE_SIZE_8K 3 1052*d83cc019SAndroid Build Coastguard Worker #define BRW_SCRATCH_SPACE_SIZE_16K 4 1053*d83cc019SAndroid Build Coastguard Worker #define BRW_SCRATCH_SPACE_SIZE_32K 5 1054*d83cc019SAndroid Build Coastguard Worker #define BRW_SCRATCH_SPACE_SIZE_64K 6 1055*d83cc019SAndroid Build Coastguard Worker #define BRW_SCRATCH_SPACE_SIZE_128K 7 1056*d83cc019SAndroid Build Coastguard Worker #define BRW_SCRATCH_SPACE_SIZE_256K 8 1057*d83cc019SAndroid Build Coastguard Worker #define BRW_SCRATCH_SPACE_SIZE_512K 9 1058*d83cc019SAndroid Build Coastguard Worker #define BRW_SCRATCH_SPACE_SIZE_1M 10 1059*d83cc019SAndroid Build Coastguard Worker #define BRW_SCRATCH_SPACE_SIZE_2M 11 1060*d83cc019SAndroid Build Coastguard Worker 1061*d83cc019SAndroid Build Coastguard Worker 1062*d83cc019SAndroid Build Coastguard Worker #define CMD_URB_FENCE 0x6000 1063*d83cc019SAndroid Build Coastguard Worker #define CMD_CS_URB_STATE 0x6001 1064*d83cc019SAndroid Build Coastguard Worker #define CMD_CONST_BUFFER 0x6002 1065*d83cc019SAndroid Build Coastguard Worker 1066*d83cc019SAndroid Build Coastguard Worker #define CMD_STATE_BASE_ADDRESS 0x6101 1067*d83cc019SAndroid Build Coastguard Worker #define CMD_STATE_SIP 0x6102 1068*d83cc019SAndroid Build Coastguard Worker #define CMD_PIPELINE_SELECT_965 0x6104 1069*d83cc019SAndroid Build Coastguard Worker #define CMD_PIPELINE_SELECT_GM45 0x6904 1070*d83cc019SAndroid Build Coastguard Worker 1071*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_PIPELINED_POINTERS 0x7800 1072*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_BINDING_TABLE_POINTERS 0x7801 1073*d83cc019SAndroid Build Coastguard Worker # define GEN6_BINDING_TABLE_MODIFY_VS (1 << 8) 1074*d83cc019SAndroid Build Coastguard Worker # define GEN6_BINDING_TABLE_MODIFY_GS (1 << 9) 1075*d83cc019SAndroid Build Coastguard Worker # define GEN6_BINDING_TABLE_MODIFY_PS (1 << 12) 1076*d83cc019SAndroid Build Coastguard Worker 1077*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_BINDING_TABLE_POINTERS_VS 0x7826 /* GEN7+ */ 1078*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_BINDING_TABLE_POINTERS_HS 0x7827 /* GEN7+ */ 1079*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_BINDING_TABLE_POINTERS_DS 0x7828 /* GEN7+ */ 1080*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_BINDING_TABLE_POINTERS_GS 0x7829 /* GEN7+ */ 1081*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_BINDING_TABLE_POINTERS_PS 0x782A /* GEN7+ */ 1082*d83cc019SAndroid Build Coastguard Worker 1083*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_SAMPLER_STATE_POINTERS 0x7802 /* GEN6+ */ 1084*d83cc019SAndroid Build Coastguard Worker # define PS_SAMPLER_STATE_CHANGE (1 << 12) 1085*d83cc019SAndroid Build Coastguard Worker # define GS_SAMPLER_STATE_CHANGE (1 << 9) 1086*d83cc019SAndroid Build Coastguard Worker # define VS_SAMPLER_STATE_CHANGE (1 << 8) 1087*d83cc019SAndroid Build Coastguard Worker /* DW1: VS */ 1088*d83cc019SAndroid Build Coastguard Worker /* DW2: GS */ 1089*d83cc019SAndroid Build Coastguard Worker /* DW3: PS */ 1090*d83cc019SAndroid Build Coastguard Worker 1091*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_SAMPLER_STATE_POINTERS_VS 0x782B /* GEN7+ */ 1092*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_SAMPLER_STATE_POINTERS_GS 0x782E /* GEN7+ */ 1093*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_SAMPLER_STATE_POINTERS_PS 0x782F /* GEN7+ */ 1094*d83cc019SAndroid Build Coastguard Worker 1095*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_VERTEX_BUFFERS 0x7808 1096*d83cc019SAndroid Build Coastguard Worker # define BRW_VB0_INDEX_SHIFT 27 1097*d83cc019SAndroid Build Coastguard Worker # define GEN6_VB0_INDEX_SHIFT 26 1098*d83cc019SAndroid Build Coastguard Worker # define BRW_VB0_ACCESS_VERTEXDATA (0 << 26) 1099*d83cc019SAndroid Build Coastguard Worker # define BRW_VB0_ACCESS_INSTANCEDATA (1 << 26) 1100*d83cc019SAndroid Build Coastguard Worker # define GEN6_VB0_ACCESS_VERTEXDATA (0 << 20) 1101*d83cc019SAndroid Build Coastguard Worker # define GEN6_VB0_ACCESS_INSTANCEDATA (1 << 20) 1102*d83cc019SAndroid Build Coastguard Worker # define GEN7_VB0_ADDRESS_MODIFYENABLE (1 << 14) 1103*d83cc019SAndroid Build Coastguard Worker # define BRW_VB0_PITCH_SHIFT 0 1104*d83cc019SAndroid Build Coastguard Worker 1105*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_VERTEX_ELEMENTS 0x7809 1106*d83cc019SAndroid Build Coastguard Worker # define BRW_VE0_INDEX_SHIFT 27 1107*d83cc019SAndroid Build Coastguard Worker # define GEN6_VE0_INDEX_SHIFT 26 1108*d83cc019SAndroid Build Coastguard Worker # define BRW_VE0_FORMAT_SHIFT 16 1109*d83cc019SAndroid Build Coastguard Worker # define BRW_VE0_VALID (1 << 26) 1110*d83cc019SAndroid Build Coastguard Worker # define GEN6_VE0_VALID (1 << 25) 1111*d83cc019SAndroid Build Coastguard Worker # define GEN6_VE0_EDGE_FLAG_ENABLE (1 << 15) 1112*d83cc019SAndroid Build Coastguard Worker # define BRW_VE0_SRC_OFFSET_SHIFT 0 1113*d83cc019SAndroid Build Coastguard Worker # define BRW_VE1_COMPONENT_NOSTORE 0 1114*d83cc019SAndroid Build Coastguard Worker # define BRW_VE1_COMPONENT_STORE_SRC 1 1115*d83cc019SAndroid Build Coastguard Worker # define BRW_VE1_COMPONENT_STORE_0 2 1116*d83cc019SAndroid Build Coastguard Worker # define BRW_VE1_COMPONENT_STORE_1_FLT 3 1117*d83cc019SAndroid Build Coastguard Worker # define BRW_VE1_COMPONENT_STORE_1_INT 4 1118*d83cc019SAndroid Build Coastguard Worker # define BRW_VE1_COMPONENT_STORE_VID 5 1119*d83cc019SAndroid Build Coastguard Worker # define BRW_VE1_COMPONENT_STORE_IID 6 1120*d83cc019SAndroid Build Coastguard Worker # define BRW_VE1_COMPONENT_STORE_PID 7 1121*d83cc019SAndroid Build Coastguard Worker # define BRW_VE1_COMPONENT_0_SHIFT 28 1122*d83cc019SAndroid Build Coastguard Worker # define BRW_VE1_COMPONENT_1_SHIFT 24 1123*d83cc019SAndroid Build Coastguard Worker # define BRW_VE1_COMPONENT_2_SHIFT 20 1124*d83cc019SAndroid Build Coastguard Worker # define BRW_VE1_COMPONENT_3_SHIFT 16 1125*d83cc019SAndroid Build Coastguard Worker # define BRW_VE1_DST_OFFSET_SHIFT 0 1126*d83cc019SAndroid Build Coastguard Worker 1127*d83cc019SAndroid Build Coastguard Worker #define CMD_INDEX_BUFFER 0x780a 1128*d83cc019SAndroid Build Coastguard Worker #define GEN4_3DSTATE_VF_STATISTICS 0x780b 1129*d83cc019SAndroid Build Coastguard Worker #define GM45_3DSTATE_VF_STATISTICS 0x680b 1130*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_CC_STATE_POINTERS 0x780e /* GEN6+ */ 1131*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_BLEND_STATE_POINTERS 0x7824 /* GEN7+ */ 1132*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_DEPTH_STENCIL_STATE_POINTERS 0x7825 /* GEN7+ */ 1133*d83cc019SAndroid Build Coastguard Worker 1134*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_URB 0x7805 /* GEN6 */ 1135*d83cc019SAndroid Build Coastguard Worker # define GEN6_URB_VS_SIZE_SHIFT 16 1136*d83cc019SAndroid Build Coastguard Worker # define GEN6_URB_VS_ENTRIES_SHIFT 0 1137*d83cc019SAndroid Build Coastguard Worker # define GEN6_URB_GS_ENTRIES_SHIFT 8 1138*d83cc019SAndroid Build Coastguard Worker # define GEN6_URB_GS_SIZE_SHIFT 0 1139*d83cc019SAndroid Build Coastguard Worker 1140*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_VF 0x780c /* GEN7.5+ */ 1141*d83cc019SAndroid Build Coastguard Worker #define HSW_CUT_INDEX_ENABLE (1 << 8) 1142*d83cc019SAndroid Build Coastguard Worker 1143*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_URB_VS 0x7830 /* GEN7+ */ 1144*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_URB_HS 0x7831 /* GEN7+ */ 1145*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_URB_DS 0x7832 /* GEN7+ */ 1146*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_URB_GS 0x7833 /* GEN7+ */ 1147*d83cc019SAndroid Build Coastguard Worker # define GEN7_URB_ENTRY_SIZE_SHIFT 16 1148*d83cc019SAndroid Build Coastguard Worker # define GEN7_URB_STARTING_ADDRESS_SHIFT 25 1149*d83cc019SAndroid Build Coastguard Worker 1150*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_PUSH_CONSTANT_ALLOC_VS 0x7912 /* GEN7+ */ 1151*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_PUSH_CONSTANT_ALLOC_PS 0x7916 /* GEN7+ */ 1152*d83cc019SAndroid Build Coastguard Worker # define GEN7_PUSH_CONSTANT_BUFFER_OFFSET_SHIFT 16 1153*d83cc019SAndroid Build Coastguard Worker 1154*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_VIEWPORT_STATE_POINTERS 0x780d /* GEN6+ */ 1155*d83cc019SAndroid Build Coastguard Worker # define GEN6_CC_VIEWPORT_MODIFY (1 << 12) 1156*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_VIEWPORT_MODIFY (1 << 11) 1157*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_VIEWPORT_MODIFY (1 << 10) 1158*d83cc019SAndroid Build Coastguard Worker 1159*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_VIEWPORT_STATE_POINTERS_CC 0x7823 /* GEN7+ */ 1160*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_VIEWPORT_STATE_POINTERS_SF_CL 0x7821 /* GEN7+ */ 1161*d83cc019SAndroid Build Coastguard Worker 1162*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_SCISSOR_STATE_POINTERS 0x780f /* GEN6+ */ 1163*d83cc019SAndroid Build Coastguard Worker 1164*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_VS 0x7810 /* GEN6+ */ 1165*d83cc019SAndroid Build Coastguard Worker /* DW2 */ 1166*d83cc019SAndroid Build Coastguard Worker # define GEN6_VS_SPF_MODE (1 << 31) 1167*d83cc019SAndroid Build Coastguard Worker # define GEN6_VS_VECTOR_MASK_ENABLE (1 << 30) 1168*d83cc019SAndroid Build Coastguard Worker # define GEN6_VS_SAMPLER_COUNT_SHIFT 27 1169*d83cc019SAndroid Build Coastguard Worker # define GEN6_VS_BINDING_TABLE_ENTRY_COUNT_SHIFT 18 1170*d83cc019SAndroid Build Coastguard Worker # define GEN6_VS_FLOATING_POINT_MODE_IEEE_754 (0 << 16) 1171*d83cc019SAndroid Build Coastguard Worker # define GEN6_VS_FLOATING_POINT_MODE_ALT (1 << 16) 1172*d83cc019SAndroid Build Coastguard Worker /* DW4 */ 1173*d83cc019SAndroid Build Coastguard Worker # define GEN6_VS_DISPATCH_START_GRF_SHIFT 20 1174*d83cc019SAndroid Build Coastguard Worker # define GEN6_VS_URB_READ_LENGTH_SHIFT 11 1175*d83cc019SAndroid Build Coastguard Worker # define GEN6_VS_URB_ENTRY_READ_OFFSET_SHIFT 4 1176*d83cc019SAndroid Build Coastguard Worker /* DW5 */ 1177*d83cc019SAndroid Build Coastguard Worker # define GEN6_VS_MAX_THREADS_SHIFT 25 1178*d83cc019SAndroid Build Coastguard Worker # define HSW_VS_MAX_THREADS_SHIFT 23 1179*d83cc019SAndroid Build Coastguard Worker # define GEN6_VS_STATISTICS_ENABLE (1 << 10) 1180*d83cc019SAndroid Build Coastguard Worker # define GEN6_VS_CACHE_DISABLE (1 << 1) 1181*d83cc019SAndroid Build Coastguard Worker # define GEN6_VS_ENABLE (1 << 0) 1182*d83cc019SAndroid Build Coastguard Worker 1183*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_GS 0x7811 /* GEN6+ */ 1184*d83cc019SAndroid Build Coastguard Worker /* DW2 */ 1185*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_SPF_MODE (1 << 31) 1186*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_VECTOR_MASK_ENABLE (1 << 30) 1187*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_SAMPLER_COUNT_SHIFT 27 1188*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_BINDING_TABLE_ENTRY_COUNT_SHIFT 18 1189*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_FLOATING_POINT_MODE_IEEE_754 (0 << 16) 1190*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_FLOATING_POINT_MODE_ALT (1 << 16) 1191*d83cc019SAndroid Build Coastguard Worker /* DW4 */ 1192*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_URB_READ_LENGTH_SHIFT 11 1193*d83cc019SAndroid Build Coastguard Worker # define GEN7_GS_INCLUDE_VERTEX_HANDLES (1 << 10) 1194*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_URB_ENTRY_READ_OFFSET_SHIFT 4 1195*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_DISPATCH_START_GRF_SHIFT 0 1196*d83cc019SAndroid Build Coastguard Worker /* DW5 */ 1197*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_MAX_THREADS_SHIFT 25 1198*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_STATISTICS_ENABLE (1 << 10) 1199*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_SO_STATISTICS_ENABLE (1 << 9) 1200*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_RENDERING_ENABLE (1 << 8) 1201*d83cc019SAndroid Build Coastguard Worker # define GEN7_GS_ENABLE (1 << 0) 1202*d83cc019SAndroid Build Coastguard Worker /* DW6 */ 1203*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_REORDER (1 << 30) 1204*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_DISCARD_ADJACENCY (1 << 29) 1205*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_SVBI_PAYLOAD_ENABLE (1 << 28) 1206*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_SVBI_POSTINCREMENT_ENABLE (1 << 27) 1207*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_SVBI_POSTINCREMENT_VALUE_SHIFT 16 1208*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_SVBI_POSTINCREMENT_VALUE_MASK INTEL_MASK(25, 16) 1209*d83cc019SAndroid Build Coastguard Worker # define GEN6_GS_ENABLE (1 << 15) 1210*d83cc019SAndroid Build Coastguard Worker 1211*d83cc019SAndroid Build Coastguard Worker # define BRW_GS_EDGE_INDICATOR_0 (1 << 8) 1212*d83cc019SAndroid Build Coastguard Worker # define BRW_GS_EDGE_INDICATOR_1 (1 << 9) 1213*d83cc019SAndroid Build Coastguard Worker 1214*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_HS 0x781B /* GEN7+ */ 1215*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_TE 0x781C /* GEN7+ */ 1216*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_DS 0x781D /* GEN7+ */ 1217*d83cc019SAndroid Build Coastguard Worker 1218*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_CLIP 0x7812 /* GEN6+ */ 1219*d83cc019SAndroid Build Coastguard Worker /* DW1 */ 1220*d83cc019SAndroid Build Coastguard Worker # define GEN7_CLIP_WINDING_CW (0 << 20) 1221*d83cc019SAndroid Build Coastguard Worker # define GEN7_CLIP_WINDING_CCW (1 << 20) 1222*d83cc019SAndroid Build Coastguard Worker # define GEN7_CLIP_VERTEX_SUBPIXEL_PRECISION_8 (0 << 19) 1223*d83cc019SAndroid Build Coastguard Worker # define GEN7_CLIP_VERTEX_SUBPIXEL_PRECISION_4 (1 << 19) 1224*d83cc019SAndroid Build Coastguard Worker # define GEN7_CLIP_EARLY_CULL (1 << 18) 1225*d83cc019SAndroid Build Coastguard Worker # define GEN7_CLIP_CULLMODE_BOTH (0 << 16) 1226*d83cc019SAndroid Build Coastguard Worker # define GEN7_CLIP_CULLMODE_NONE (1 << 16) 1227*d83cc019SAndroid Build Coastguard Worker # define GEN7_CLIP_CULLMODE_FRONT (2 << 16) 1228*d83cc019SAndroid Build Coastguard Worker # define GEN7_CLIP_CULLMODE_BACK (3 << 16) 1229*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_STATISTICS_ENABLE (1 << 10) 1230*d83cc019SAndroid Build Coastguard Worker /** 1231*d83cc019SAndroid Build Coastguard Worker * Just does cheap culling based on the clip distance. Bits must be 1232*d83cc019SAndroid Build Coastguard Worker * disjoint with USER_CLIP_CLIP_DISTANCE bits. 1233*d83cc019SAndroid Build Coastguard Worker */ 1234*d83cc019SAndroid Build Coastguard Worker # define GEN6_USER_CLIP_CULL_DISTANCES_SHIFT 0 1235*d83cc019SAndroid Build Coastguard Worker /* DW2 */ 1236*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_ENABLE (1 << 31) 1237*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_API_OGL (0 << 30) 1238*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_API_D3D (1 << 30) 1239*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_XY_TEST (1 << 28) 1240*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_Z_TEST (1 << 27) 1241*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_GB_TEST (1 << 26) 1242*d83cc019SAndroid Build Coastguard Worker /** 8-bit field of which user clip distances to clip aganist. */ 1243*d83cc019SAndroid Build Coastguard Worker # define GEN6_USER_CLIP_CLIP_DISTANCES_SHIFT 16 1244*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_MODE_NORMAL (0 << 13) 1245*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_MODE_REJECT_ALL (3 << 13) 1246*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_MODE_ACCEPT_ALL (4 << 13) 1247*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_PERSPECTIVE_DIVIDE_DISABLE (1 << 9) 1248*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_NON_PERSPECTIVE_BARYCENTRIC_ENABLE (1 << 8) 1249*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_TRI_PROVOKE_SHIFT 4 1250*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_LINE_PROVOKE_SHIFT 2 1251*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_TRIFAN_PROVOKE_SHIFT 0 1252*d83cc019SAndroid Build Coastguard Worker /* DW3 */ 1253*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_MIN_POINT_WIDTH_SHIFT 17 1254*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_MAX_POINT_WIDTH_SHIFT 6 1255*d83cc019SAndroid Build Coastguard Worker # define GEN6_CLIP_FORCE_ZERO_RTAINDEX (1 << 5) 1256*d83cc019SAndroid Build Coastguard Worker 1257*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_SF 0x7813 /* GEN6+ */ 1258*d83cc019SAndroid Build Coastguard Worker /* DW1 (for gen6) */ 1259*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_NUM_OUTPUTS_SHIFT 22 1260*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_SWIZZLE_ENABLE (1 << 21) 1261*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_POINT_SPRITE_UPPERLEFT (0 << 20) 1262*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_POINT_SPRITE_LOWERLEFT (1 << 20) 1263*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_URB_ENTRY_READ_LENGTH_SHIFT 11 1264*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_URB_ENTRY_READ_OFFSET_SHIFT 4 1265*d83cc019SAndroid Build Coastguard Worker /* DW2 */ 1266*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_LEGACY_GLOBAL_DEPTH_BIAS (1 << 11) 1267*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_STATISTICS_ENABLE (1 << 10) 1268*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_GLOBAL_DEPTH_OFFSET_SOLID (1 << 9) 1269*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_GLOBAL_DEPTH_OFFSET_WIREFRAME (1 << 8) 1270*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_GLOBAL_DEPTH_OFFSET_POINT (1 << 7) 1271*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_FRONT_SOLID (0 << 5) 1272*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_FRONT_WIREFRAME (1 << 5) 1273*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_FRONT_POINT (2 << 5) 1274*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_BACK_SOLID (0 << 3) 1275*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_BACK_WIREFRAME (1 << 3) 1276*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_BACK_POINT (2 << 3) 1277*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_VIEWPORT_TRANSFORM_ENABLE (1 << 1) 1278*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_WINDING_CCW (1 << 0) 1279*d83cc019SAndroid Build Coastguard Worker /* DW3 */ 1280*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_LINE_AA_ENABLE (1 << 31) 1281*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_CULL_BOTH (0 << 29) 1282*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_CULL_NONE (1 << 29) 1283*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_CULL_FRONT (2 << 29) 1284*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_CULL_BACK (3 << 29) 1285*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_LINE_WIDTH_SHIFT 18 /* U3.7 */ 1286*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_LINE_END_CAP_WIDTH_0_5 (0 << 16) 1287*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_LINE_END_CAP_WIDTH_1_0 (1 << 16) 1288*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_LINE_END_CAP_WIDTH_2_0 (2 << 16) 1289*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_LINE_END_CAP_WIDTH_4_0 (3 << 16) 1290*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_SCISSOR_ENABLE (1 << 11) 1291*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_MSRAST_OFF_PIXEL (0 << 8) 1292*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_MSRAST_OFF_PATTERN (1 << 8) 1293*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_MSRAST_ON_PIXEL (2 << 8) 1294*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_MSRAST_ON_PATTERN (3 << 8) 1295*d83cc019SAndroid Build Coastguard Worker /* DW4 */ 1296*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_TRI_PROVOKE_SHIFT 29 1297*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_LINE_PROVOKE_SHIFT 27 1298*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_TRIFAN_PROVOKE_SHIFT 25 1299*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_LINE_AA_MODE_MANHATTAN (0 << 14) 1300*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_LINE_AA_MODE_TRUE (1 << 14) 1301*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_VERTEX_SUBPIXEL_8BITS (0 << 12) 1302*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_VERTEX_SUBPIXEL_4BITS (1 << 12) 1303*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_USE_STATE_POINT_WIDTH (1 << 11) 1304*d83cc019SAndroid Build Coastguard Worker # define GEN6_SF_POINT_WIDTH_SHIFT 0 /* U8.3 */ 1305*d83cc019SAndroid Build Coastguard Worker /* DW5: depth offset constant */ 1306*d83cc019SAndroid Build Coastguard Worker /* DW6: depth offset scale */ 1307*d83cc019SAndroid Build Coastguard Worker /* DW7: depth offset clamp */ 1308*d83cc019SAndroid Build Coastguard Worker /* DW8 */ 1309*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_1_OVERRIDE_W (1 << 31) 1310*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_1_OVERRIDE_Z (1 << 30) 1311*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_1_OVERRIDE_Y (1 << 29) 1312*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_1_OVERRIDE_X (1 << 28) 1313*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_1_CONST_SOURCE_SHIFT 25 1314*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_1_SWIZZLE_SHIFT 22 1315*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_1_SOURCE_SHIFT 16 1316*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_0_OVERRIDE_W (1 << 15) 1317*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_0_OVERRIDE_Z (1 << 14) 1318*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_0_OVERRIDE_Y (1 << 13) 1319*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_0_OVERRIDE_X (1 << 12) 1320*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_0_CONST_SOURCE_SHIFT 9 1321*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_0_SWIZZLE_SHIFT 6 1322*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_0_SOURCE_SHIFT 0 1323*d83cc019SAndroid Build Coastguard Worker 1324*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_SWIZZLE_INPUTATTR 0 1325*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_SWIZZLE_INPUTATTR_FACING 1 1326*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_SWIZZLE_INPUTATTR_W 2 1327*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_SWIZZLE_INPUTATTR_FACING_W 3 1328*d83cc019SAndroid Build Coastguard Worker # define ATTRIBUTE_SWIZZLE_SHIFT 6 1329*d83cc019SAndroid Build Coastguard Worker 1330*d83cc019SAndroid Build Coastguard Worker /* DW16: Point sprite texture coordinate enables */ 1331*d83cc019SAndroid Build Coastguard Worker /* DW17: Constant interpolation enables */ 1332*d83cc019SAndroid Build Coastguard Worker /* DW18: attr 0-7 wrap shortest enables */ 1333*d83cc019SAndroid Build Coastguard Worker /* DW19: attr 8-16 wrap shortest enables */ 1334*d83cc019SAndroid Build Coastguard Worker 1335*d83cc019SAndroid Build Coastguard Worker /* On GEN7, many fields of 3DSTATE_SF were split out into a new command: 1336*d83cc019SAndroid Build Coastguard Worker * 3DSTATE_SBE. The remaining fields live in different DWords, but retain 1337*d83cc019SAndroid Build Coastguard Worker * the same bit-offset. The only new field: 1338*d83cc019SAndroid Build Coastguard Worker */ 1339*d83cc019SAndroid Build Coastguard Worker /* GEN7/DW1: */ 1340*d83cc019SAndroid Build Coastguard Worker # define GEN7_SF_DEPTH_BUFFER_SURFACE_FORMAT_SHIFT 12 1341*d83cc019SAndroid Build Coastguard Worker /* GEN7/DW2: */ 1342*d83cc019SAndroid Build Coastguard Worker # define HSW_SF_LINE_STIPPLE_ENABLE 14 1343*d83cc019SAndroid Build Coastguard Worker 1344*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_SBE 0x781F /* GEN7+ */ 1345*d83cc019SAndroid Build Coastguard Worker /* DW1 */ 1346*d83cc019SAndroid Build Coastguard Worker # define GEN7_SBE_SWIZZLE_CONTROL_MODE (1 << 28) 1347*d83cc019SAndroid Build Coastguard Worker # define GEN7_SBE_NUM_OUTPUTS_SHIFT 22 1348*d83cc019SAndroid Build Coastguard Worker # define GEN7_SBE_SWIZZLE_ENABLE (1 << 21) 1349*d83cc019SAndroid Build Coastguard Worker # define GEN7_SBE_POINT_SPRITE_LOWERLEFT (1 << 20) 1350*d83cc019SAndroid Build Coastguard Worker # define GEN7_SBE_URB_ENTRY_READ_LENGTH_SHIFT 11 1351*d83cc019SAndroid Build Coastguard Worker # define GEN7_SBE_URB_ENTRY_READ_OFFSET_SHIFT 4 1352*d83cc019SAndroid Build Coastguard Worker /* DW2-9: Attribute setup (same as DW8-15 of gen6 _3DSTATE_SF) */ 1353*d83cc019SAndroid Build Coastguard Worker /* DW10: Point sprite texture coordinate enables */ 1354*d83cc019SAndroid Build Coastguard Worker /* DW11: Constant interpolation enables */ 1355*d83cc019SAndroid Build Coastguard Worker /* DW12: attr 0-7 wrap shortest enables */ 1356*d83cc019SAndroid Build Coastguard Worker /* DW13: attr 8-16 wrap shortest enables */ 1357*d83cc019SAndroid Build Coastguard Worker 1358*d83cc019SAndroid Build Coastguard Worker enum brw_wm_barycentric_interp_mode { 1359*d83cc019SAndroid Build Coastguard Worker BRW_WM_PERSPECTIVE_PIXEL_BARYCENTRIC = 0, 1360*d83cc019SAndroid Build Coastguard Worker BRW_WM_PERSPECTIVE_CENTROID_BARYCENTRIC = 1, 1361*d83cc019SAndroid Build Coastguard Worker BRW_WM_PERSPECTIVE_SAMPLE_BARYCENTRIC = 2, 1362*d83cc019SAndroid Build Coastguard Worker BRW_WM_NONPERSPECTIVE_PIXEL_BARYCENTRIC = 3, 1363*d83cc019SAndroid Build Coastguard Worker BRW_WM_NONPERSPECTIVE_CENTROID_BARYCENTRIC = 4, 1364*d83cc019SAndroid Build Coastguard Worker BRW_WM_NONPERSPECTIVE_SAMPLE_BARYCENTRIC = 5, 1365*d83cc019SAndroid Build Coastguard Worker BRW_WM_BARYCENTRIC_INTERP_MODE_COUNT = 6 1366*d83cc019SAndroid Build Coastguard Worker }; 1367*d83cc019SAndroid Build Coastguard Worker #define BRW_WM_NONPERSPECTIVE_BARYCENTRIC_BITS \ 1368*d83cc019SAndroid Build Coastguard Worker ((1 << BRW_WM_NONPERSPECTIVE_PIXEL_BARYCENTRIC) | \ 1369*d83cc019SAndroid Build Coastguard Worker (1 << BRW_WM_NONPERSPECTIVE_CENTROID_BARYCENTRIC) | \ 1370*d83cc019SAndroid Build Coastguard Worker (1 << BRW_WM_NONPERSPECTIVE_SAMPLE_BARYCENTRIC)) 1371*d83cc019SAndroid Build Coastguard Worker 1372*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_WM 0x7814 /* GEN6+ */ 1373*d83cc019SAndroid Build Coastguard Worker /* DW1: kernel pointer */ 1374*d83cc019SAndroid Build Coastguard Worker /* DW2 */ 1375*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_SPF_MODE (1 << 31) 1376*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_VECTOR_MASK_ENABLE (1 << 30) 1377*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_SAMPLER_COUNT_SHIFT 27 1378*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_BINDING_TABLE_ENTRY_COUNT_SHIFT 18 1379*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_FLOATING_POINT_MODE_IEEE_754 (0 << 16) 1380*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_FLOATING_POINT_MODE_ALT (1 << 16) 1381*d83cc019SAndroid Build Coastguard Worker /* DW3: scratch space */ 1382*d83cc019SAndroid Build Coastguard Worker /* DW4 */ 1383*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_STATISTICS_ENABLE (1 << 31) 1384*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_DEPTH_CLEAR (1 << 30) 1385*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_DEPTH_RESOLVE (1 << 28) 1386*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_HIERARCHICAL_DEPTH_RESOLVE (1 << 27) 1387*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_DISPATCH_START_GRF_SHIFT_0 16 1388*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_DISPATCH_START_GRF_SHIFT_1 8 1389*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_DISPATCH_START_GRF_SHIFT_2 0 1390*d83cc019SAndroid Build Coastguard Worker /* DW5 */ 1391*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_MAX_THREADS_SHIFT 25 1392*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_KILL_ENABLE (1 << 22) 1393*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_COMPUTED_DEPTH (1 << 21) 1394*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_USES_SOURCE_DEPTH (1 << 20) 1395*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_DISPATCH_ENABLE (1 << 19) 1396*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_LINE_END_CAP_AA_WIDTH_0_5 (0 << 16) 1397*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_LINE_END_CAP_AA_WIDTH_1_0 (1 << 16) 1398*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_LINE_END_CAP_AA_WIDTH_2_0 (2 << 16) 1399*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_LINE_END_CAP_AA_WIDTH_4_0 (3 << 16) 1400*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_LINE_AA_WIDTH_0_5 (0 << 14) 1401*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_LINE_AA_WIDTH_1_0 (1 << 14) 1402*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_LINE_AA_WIDTH_2_0 (2 << 14) 1403*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_LINE_AA_WIDTH_4_0 (3 << 14) 1404*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_POLYGON_STIPPLE_ENABLE (1 << 13) 1405*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_LINE_STIPPLE_ENABLE (1 << 11) 1406*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_OMASK_TO_RENDER_TARGET (1 << 9) 1407*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_USES_SOURCE_W (1 << 8) 1408*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_DUAL_SOURCE_BLEND_ENABLE (1 << 7) 1409*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_32_DISPATCH_ENABLE (1 << 2) 1410*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_16_DISPATCH_ENABLE (1 << 1) 1411*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_8_DISPATCH_ENABLE (1 << 0) 1412*d83cc019SAndroid Build Coastguard Worker /* DW6 */ 1413*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_NUM_SF_OUTPUTS_SHIFT 20 1414*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_POSOFFSET_NONE (0 << 18) 1415*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_POSOFFSET_CENTROID (2 << 18) 1416*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_POSOFFSET_SAMPLE (3 << 18) 1417*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_POSITION_ZW_PIXEL (0 << 16) 1418*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_POSITION_ZW_CENTROID (2 << 16) 1419*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_POSITION_ZW_SAMPLE (3 << 16) 1420*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_NONPERSPECTIVE_SAMPLE_BARYCENTRIC (1 << 15) 1421*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_NONPERSPECTIVE_CENTROID_BARYCENTRIC (1 << 14) 1422*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_NONPERSPECTIVE_PIXEL_BARYCENTRIC (1 << 13) 1423*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_PERSPECTIVE_SAMPLE_BARYCENTRIC (1 << 12) 1424*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_PERSPECTIVE_CENTROID_BARYCENTRIC (1 << 11) 1425*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_PERSPECTIVE_PIXEL_BARYCENTRIC (1 << 10) 1426*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_BARYCENTRIC_INTERPOLATION_MODE_SHIFT 10 1427*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_POINT_RASTRULE_UPPER_RIGHT (1 << 9) 1428*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_MSRAST_OFF_PIXEL (0 << 1) 1429*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_MSRAST_OFF_PATTERN (1 << 1) 1430*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_MSRAST_ON_PIXEL (2 << 1) 1431*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_MSRAST_ON_PATTERN (3 << 1) 1432*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_MSDISPMODE_PERSAMPLE (0 << 0) 1433*d83cc019SAndroid Build Coastguard Worker # define GEN6_WM_MSDISPMODE_PERPIXEL (1 << 0) 1434*d83cc019SAndroid Build Coastguard Worker /* DW7: kernel 1 pointer */ 1435*d83cc019SAndroid Build Coastguard Worker /* DW8: kernel 2 pointer */ 1436*d83cc019SAndroid Build Coastguard Worker 1437*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_CONSTANT_VS 0x7815 /* GEN6+ */ 1438*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_CONSTANT_GS 0x7816 /* GEN6+ */ 1439*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_CONSTANT_PS 0x7817 /* GEN6+ */ 1440*d83cc019SAndroid Build Coastguard Worker # define GEN6_CONSTANT_BUFFER_3_ENABLE (1 << 15) 1441*d83cc019SAndroid Build Coastguard Worker # define GEN6_CONSTANT_BUFFER_2_ENABLE (1 << 14) 1442*d83cc019SAndroid Build Coastguard Worker # define GEN6_CONSTANT_BUFFER_1_ENABLE (1 << 13) 1443*d83cc019SAndroid Build Coastguard Worker # define GEN6_CONSTANT_BUFFER_0_ENABLE (1 << 12) 1444*d83cc019SAndroid Build Coastguard Worker 1445*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_CONSTANT_HS 0x7819 /* GEN7+ */ 1446*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_CONSTANT_DS 0x781A /* GEN7+ */ 1447*d83cc019SAndroid Build Coastguard Worker 1448*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_STREAMOUT 0x781e /* GEN7+ */ 1449*d83cc019SAndroid Build Coastguard Worker /* DW1 */ 1450*d83cc019SAndroid Build Coastguard Worker # define SO_FUNCTION_ENABLE (1 << 31) 1451*d83cc019SAndroid Build Coastguard Worker # define SO_RENDERING_DISABLE (1 << 30) 1452*d83cc019SAndroid Build Coastguard Worker /* This selects which incoming rendering stream goes down the pipeline. The 1453*d83cc019SAndroid Build Coastguard Worker * rendering stream is 0 if not defined by special cases in the GS state. 1454*d83cc019SAndroid Build Coastguard Worker */ 1455*d83cc019SAndroid Build Coastguard Worker # define SO_RENDER_STREAM_SELECT_SHIFT 27 1456*d83cc019SAndroid Build Coastguard Worker # define SO_RENDER_STREAM_SELECT_MASK INTEL_MASK(28, 27) 1457*d83cc019SAndroid Build Coastguard Worker /* Controls reordering of TRISTRIP_* elements in stream output (not rendering). 1458*d83cc019SAndroid Build Coastguard Worker */ 1459*d83cc019SAndroid Build Coastguard Worker # define SO_REORDER_TRAILING (1 << 26) 1460*d83cc019SAndroid Build Coastguard Worker /* Controls SO_NUM_PRIMS_WRITTEN_* and SO_PRIM_STORAGE_* */ 1461*d83cc019SAndroid Build Coastguard Worker # define SO_STATISTICS_ENABLE (1 << 25) 1462*d83cc019SAndroid Build Coastguard Worker # define SO_BUFFER_ENABLE(n) (1 << (8 + (n))) 1463*d83cc019SAndroid Build Coastguard Worker /* DW2 */ 1464*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_3_VERTEX_READ_OFFSET_SHIFT 29 1465*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_3_VERTEX_READ_OFFSET_MASK INTEL_MASK(29, 29) 1466*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_3_VERTEX_READ_LENGTH_SHIFT 24 1467*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_3_VERTEX_READ_LENGTH_MASK INTEL_MASK(28, 24) 1468*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_2_VERTEX_READ_OFFSET_SHIFT 21 1469*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_2_VERTEX_READ_OFFSET_MASK INTEL_MASK(21, 21) 1470*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_2_VERTEX_READ_LENGTH_SHIFT 16 1471*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_2_VERTEX_READ_LENGTH_MASK INTEL_MASK(20, 16) 1472*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_1_VERTEX_READ_OFFSET_SHIFT 13 1473*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_1_VERTEX_READ_OFFSET_MASK INTEL_MASK(13, 13) 1474*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_1_VERTEX_READ_LENGTH_SHIFT 8 1475*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_1_VERTEX_READ_LENGTH_MASK INTEL_MASK(12, 8) 1476*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_0_VERTEX_READ_OFFSET_SHIFT 5 1477*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_0_VERTEX_READ_OFFSET_MASK INTEL_MASK(5, 5) 1478*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_0_VERTEX_READ_LENGTH_SHIFT 0 1479*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_0_VERTEX_READ_LENGTH_MASK INTEL_MASK(4, 0) 1480*d83cc019SAndroid Build Coastguard Worker 1481*d83cc019SAndroid Build Coastguard Worker /* 3DSTATE_WM for Gen7 */ 1482*d83cc019SAndroid Build Coastguard Worker /* DW1 */ 1483*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_STATISTICS_ENABLE (1 << 31) 1484*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_DEPTH_CLEAR (1 << 30) 1485*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_DISPATCH_ENABLE (1 << 29) 1486*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_DEPTH_RESOLVE (1 << 28) 1487*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_HIERARCHICAL_DEPTH_RESOLVE (1 << 27) 1488*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_KILL_ENABLE (1 << 25) 1489*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_PSCDEPTH_OFF (0 << 23) 1490*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_PSCDEPTH_ON (1 << 23) 1491*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_PSCDEPTH_ON_GE (2 << 23) 1492*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_PSCDEPTH_ON_LE (3 << 23) 1493*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_USES_SOURCE_DEPTH (1 << 20) 1494*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_USES_SOURCE_W (1 << 19) 1495*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_POSITION_ZW_PIXEL (0 << 17) 1496*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_POSITION_ZW_CENTROID (2 << 17) 1497*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_POSITION_ZW_SAMPLE (3 << 17) 1498*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_BARYCENTRIC_INTERPOLATION_MODE_SHIFT 11 1499*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_USES_INPUT_COVERAGE_MASK (1 << 10) 1500*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_LINE_END_CAP_AA_WIDTH_0_5 (0 << 8) 1501*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_LINE_END_CAP_AA_WIDTH_1_0 (1 << 8) 1502*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_LINE_END_CAP_AA_WIDTH_2_0 (2 << 8) 1503*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_LINE_END_CAP_AA_WIDTH_4_0 (3 << 8) 1504*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_LINE_AA_WIDTH_0_5 (0 << 6) 1505*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_LINE_AA_WIDTH_1_0 (1 << 6) 1506*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_LINE_AA_WIDTH_2_0 (2 << 6) 1507*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_LINE_AA_WIDTH_4_0 (3 << 6) 1508*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_POLYGON_STIPPLE_ENABLE (1 << 4) 1509*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_LINE_STIPPLE_ENABLE (1 << 3) 1510*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_POINT_RASTRULE_UPPER_RIGHT (1 << 2) 1511*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_MSRAST_OFF_PIXEL (0 << 0) 1512*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_MSRAST_OFF_PATTERN (1 << 0) 1513*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_MSRAST_ON_PIXEL (2 << 0) 1514*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_MSRAST_ON_PATTERN (3 << 0) 1515*d83cc019SAndroid Build Coastguard Worker /* DW2 */ 1516*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_MSDISPMODE_PERSAMPLE (0 << 31) 1517*d83cc019SAndroid Build Coastguard Worker # define GEN7_WM_MSDISPMODE_PERPIXEL (1 << 31) 1518*d83cc019SAndroid Build Coastguard Worker 1519*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_PS 0x7820 /* GEN7+ */ 1520*d83cc019SAndroid Build Coastguard Worker /* DW1: kernel pointer */ 1521*d83cc019SAndroid Build Coastguard Worker /* DW2 */ 1522*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_SPF_MODE (1 << 31) 1523*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_VECTOR_MASK_ENABLE (1 << 30) 1524*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_SAMPLER_COUNT_SHIFT 27 1525*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_BINDING_TABLE_ENTRY_COUNT_SHIFT 18 1526*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_FLOATING_POINT_MODE_IEEE_754 (0 << 16) 1527*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_FLOATING_POINT_MODE_ALT (1 << 16) 1528*d83cc019SAndroid Build Coastguard Worker /* DW3: scratch space */ 1529*d83cc019SAndroid Build Coastguard Worker /* DW4 */ 1530*d83cc019SAndroid Build Coastguard Worker # define IVB_PS_MAX_THREADS_SHIFT 24 1531*d83cc019SAndroid Build Coastguard Worker # define HSW_PS_MAX_THREADS_SHIFT 23 1532*d83cc019SAndroid Build Coastguard Worker # define HSW_PS_SAMPLE_MASK_SHIFT 12 1533*d83cc019SAndroid Build Coastguard Worker # define HSW_PS_SAMPLE_MASK_MASK INTEL_MASK(19, 12) 1534*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_PUSH_CONSTANT_ENABLE (1 << 11) 1535*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_ATTRIBUTE_ENABLE (1 << 10) 1536*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_OMASK_TO_RENDER_TARGET (1 << 9) 1537*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_DUAL_SOURCE_BLEND_ENABLE (1 << 7) 1538*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_POSOFFSET_NONE (0 << 3) 1539*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_POSOFFSET_CENTROID (2 << 3) 1540*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_POSOFFSET_SAMPLE (3 << 3) 1541*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_32_DISPATCH_ENABLE (1 << 2) 1542*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_16_DISPATCH_ENABLE (1 << 1) 1543*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_8_DISPATCH_ENABLE (1 << 0) 1544*d83cc019SAndroid Build Coastguard Worker /* DW5 */ 1545*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_DISPATCH_START_GRF_SHIFT_0 16 1546*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_DISPATCH_START_GRF_SHIFT_1 8 1547*d83cc019SAndroid Build Coastguard Worker # define GEN7_PS_DISPATCH_START_GRF_SHIFT_2 0 1548*d83cc019SAndroid Build Coastguard Worker /* DW6: kernel 1 pointer */ 1549*d83cc019SAndroid Build Coastguard Worker /* DW7: kernel 2 pointer */ 1550*d83cc019SAndroid Build Coastguard Worker 1551*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_SAMPLE_MASK 0x7818 /* GEN6+ */ 1552*d83cc019SAndroid Build Coastguard Worker 1553*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_DRAWING_RECTANGLE 0x7900 1554*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_BLEND_CONSTANT_COLOR 0x7901 1555*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_CHROMA_KEY 0x7904 1556*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_DEPTH_BUFFER 0x7905 /* GEN4-6 */ 1557*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_POLY_STIPPLE_OFFSET 0x7906 1558*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_POLY_STIPPLE_PATTERN 0x7907 1559*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_LINE_STIPPLE_PATTERN 0x7908 1560*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP 0x7909 1561*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_AA_LINE_PARAMETERS 0x790a /* G45+ */ 1562*d83cc019SAndroid Build Coastguard Worker 1563*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_GS_SVB_INDEX 0x790b /* CTG+ */ 1564*d83cc019SAndroid Build Coastguard Worker /* DW1 */ 1565*d83cc019SAndroid Build Coastguard Worker # define SVB_INDEX_SHIFT 29 1566*d83cc019SAndroid Build Coastguard Worker # define SVB_LOAD_INTERNAL_VERTEX_COUNT (1 << 0) /* SNB+ */ 1567*d83cc019SAndroid Build Coastguard Worker /* DW2: SVB index */ 1568*d83cc019SAndroid Build Coastguard Worker /* DW3: SVB maximum index */ 1569*d83cc019SAndroid Build Coastguard Worker 1570*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_MULTISAMPLE 0x790d /* GEN6+ */ 1571*d83cc019SAndroid Build Coastguard Worker /* DW1 */ 1572*d83cc019SAndroid Build Coastguard Worker # define MS_PIXEL_LOCATION_CENTER (0 << 4) 1573*d83cc019SAndroid Build Coastguard Worker # define MS_PIXEL_LOCATION_UPPER_LEFT (1 << 4) 1574*d83cc019SAndroid Build Coastguard Worker # define MS_NUMSAMPLES_1 (0 << 1) 1575*d83cc019SAndroid Build Coastguard Worker # define MS_NUMSAMPLES_4 (2 << 1) 1576*d83cc019SAndroid Build Coastguard Worker # define MS_NUMSAMPLES_8 (3 << 1) 1577*d83cc019SAndroid Build Coastguard Worker 1578*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_STENCIL_BUFFER 0x790e /* ILK, SNB */ 1579*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_HIER_DEPTH_BUFFER 0x790f /* ILK, SNB */ 1580*d83cc019SAndroid Build Coastguard Worker 1581*d83cc019SAndroid Build Coastguard Worker #define GEN7_3DSTATE_CLEAR_PARAMS 0x7804 1582*d83cc019SAndroid Build Coastguard Worker #define GEN7_3DSTATE_DEPTH_BUFFER 0x7805 1583*d83cc019SAndroid Build Coastguard Worker #define GEN7_3DSTATE_STENCIL_BUFFER 0x7806 1584*d83cc019SAndroid Build Coastguard Worker # define HSW_STENCIL_ENABLED (1 << 31) 1585*d83cc019SAndroid Build Coastguard Worker #define GEN7_3DSTATE_HIER_DEPTH_BUFFER 0x7807 1586*d83cc019SAndroid Build Coastguard Worker 1587*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_CLEAR_PARAMS 0x7910 /* ILK, SNB */ 1588*d83cc019SAndroid Build Coastguard Worker # define GEN5_DEPTH_CLEAR_VALID (1 << 15) 1589*d83cc019SAndroid Build Coastguard Worker /* DW1: depth clear value */ 1590*d83cc019SAndroid Build Coastguard Worker /* DW2 */ 1591*d83cc019SAndroid Build Coastguard Worker # define GEN7_DEPTH_CLEAR_VALID (1 << 0) 1592*d83cc019SAndroid Build Coastguard Worker 1593*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_SO_DECL_LIST 0x7917 /* GEN7+ */ 1594*d83cc019SAndroid Build Coastguard Worker /* DW1 */ 1595*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_TO_BUFFER_SELECTS_3_SHIFT 12 1596*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_TO_BUFFER_SELECTS_3_MASK INTEL_MASK(15, 12) 1597*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_TO_BUFFER_SELECTS_2_SHIFT 8 1598*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_TO_BUFFER_SELECTS_2_MASK INTEL_MASK(11, 8) 1599*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_TO_BUFFER_SELECTS_1_SHIFT 4 1600*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_TO_BUFFER_SELECTS_1_MASK INTEL_MASK(7, 4) 1601*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_TO_BUFFER_SELECTS_0_SHIFT 0 1602*d83cc019SAndroid Build Coastguard Worker # define SO_STREAM_TO_BUFFER_SELECTS_0_MASK INTEL_MASK(3, 0) 1603*d83cc019SAndroid Build Coastguard Worker /* DW2 */ 1604*d83cc019SAndroid Build Coastguard Worker # define SO_NUM_ENTRIES_3_SHIFT 24 1605*d83cc019SAndroid Build Coastguard Worker # define SO_NUM_ENTRIES_3_MASK INTEL_MASK(31, 24) 1606*d83cc019SAndroid Build Coastguard Worker # define SO_NUM_ENTRIES_2_SHIFT 16 1607*d83cc019SAndroid Build Coastguard Worker # define SO_NUM_ENTRIES_2_MASK INTEL_MASK(23, 16) 1608*d83cc019SAndroid Build Coastguard Worker # define SO_NUM_ENTRIES_1_SHIFT 8 1609*d83cc019SAndroid Build Coastguard Worker # define SO_NUM_ENTRIES_1_MASK INTEL_MASK(15, 8) 1610*d83cc019SAndroid Build Coastguard Worker # define SO_NUM_ENTRIES_0_SHIFT 0 1611*d83cc019SAndroid Build Coastguard Worker # define SO_NUM_ENTRIES_0_MASK INTEL_MASK(7, 0) 1612*d83cc019SAndroid Build Coastguard Worker 1613*d83cc019SAndroid Build Coastguard Worker /* SO_DECL DW0 */ 1614*d83cc019SAndroid Build Coastguard Worker # define SO_DECL_OUTPUT_BUFFER_SLOT_SHIFT 12 1615*d83cc019SAndroid Build Coastguard Worker # define SO_DECL_OUTPUT_BUFFER_SLOT_MASK INTEL_MASK(13, 12) 1616*d83cc019SAndroid Build Coastguard Worker # define SO_DECL_HOLE_FLAG (1 << 11) 1617*d83cc019SAndroid Build Coastguard Worker # define SO_DECL_REGISTER_INDEX_SHIFT 4 1618*d83cc019SAndroid Build Coastguard Worker # define SO_DECL_REGISTER_INDEX_MASK INTEL_MASK(9, 4) 1619*d83cc019SAndroid Build Coastguard Worker # define SO_DECL_COMPONENT_MASK_SHIFT 0 1620*d83cc019SAndroid Build Coastguard Worker # define SO_DECL_COMPONENT_MASK_MASK INTEL_MASK(3, 0) 1621*d83cc019SAndroid Build Coastguard Worker 1622*d83cc019SAndroid Build Coastguard Worker #define _3DSTATE_SO_BUFFER 0x7918 /* GEN7+ */ 1623*d83cc019SAndroid Build Coastguard Worker /* DW1 */ 1624*d83cc019SAndroid Build Coastguard Worker # define SO_BUFFER_INDEX_SHIFT 29 1625*d83cc019SAndroid Build Coastguard Worker # define SO_BUFFER_INDEX_MASK INTEL_MASK(30, 29) 1626*d83cc019SAndroid Build Coastguard Worker # define SO_BUFFER_PITCH_SHIFT 0 1627*d83cc019SAndroid Build Coastguard Worker # define SO_BUFFER_PITCH_MASK INTEL_MASK(11, 0) 1628*d83cc019SAndroid Build Coastguard Worker /* DW2: start address */ 1629*d83cc019SAndroid Build Coastguard Worker /* DW3: end address. */ 1630*d83cc019SAndroid Build Coastguard Worker 1631*d83cc019SAndroid Build Coastguard Worker #define CMD_PIPE_CONTROL 0x7a00 1632*d83cc019SAndroid Build Coastguard Worker 1633*d83cc019SAndroid Build Coastguard Worker #define CMD_MI_FLUSH 0x0200 1634*d83cc019SAndroid Build Coastguard Worker 1635*d83cc019SAndroid Build Coastguard Worker 1636*d83cc019SAndroid Build Coastguard Worker /* Bitfields for the URB_WRITE message, DW2 of message header: */ 1637*d83cc019SAndroid Build Coastguard Worker #define URB_WRITE_PRIM_END 0x1 1638*d83cc019SAndroid Build Coastguard Worker #define URB_WRITE_PRIM_START 0x2 1639*d83cc019SAndroid Build Coastguard Worker #define URB_WRITE_PRIM_TYPE_SHIFT 2 1640*d83cc019SAndroid Build Coastguard Worker 1641*d83cc019SAndroid Build Coastguard Worker 1642*d83cc019SAndroid Build Coastguard Worker /* Maximum number of entries that can be addressed using a binding table 1643*d83cc019SAndroid Build Coastguard Worker * pointer of type SURFTYPE_BUFFER 1644*d83cc019SAndroid Build Coastguard Worker */ 1645*d83cc019SAndroid Build Coastguard Worker #define BRW_MAX_NUM_BUFFER_ENTRIES (1 << 27) 1646*d83cc019SAndroid Build Coastguard Worker 1647*d83cc019SAndroid Build Coastguard Worker #define EX_DESC_SFID_MASK 0xF 1648*d83cc019SAndroid Build Coastguard Worker #define EX_DESC_EOT_MASK 0x20 1649*d83cc019SAndroid Build Coastguard Worker 1650*d83cc019SAndroid Build Coastguard Worker #define EX_DESC_FUNC_MASK 0xFFFFFFC0 1651*d83cc019SAndroid Build Coastguard Worker 1652*d83cc019SAndroid Build Coastguard Worker #endif 1653