{"action":"created","comment":{"url":"https://api.github.com/repos/envytools/envytools/pulls/comments/47871235","id":47871235,"diff_hunk":"@@ -6,157 +6,312 @@ xsi:schemaLocation=\"http://nouveau.freedesktop.org/ rules-ng.xsd\">\n \n <import file=\"nvchipsets.xml\"/>\n <import file=\"g80_defs.xml\"/>\n+<import file=\"nv_defs.xml\"/>\n \n-<enum name=\"G80_TIC_MAP\">\n-\t<value value=\"0\" name=\"ZERO\" />\n-\t<value value=\"2\" name=\"C0\" />\n-\t<value value=\"3\" name=\"C1\" />\n-\t<value value=\"4\" name=\"C2\" />\n-\t<value value=\"5\" name=\"C3\" />\n-\t<value value=\"6\" name=\"ONE_INT\" /> <!-- 0x00000001 -->\n-\t<value value=\"7\" name=\"ONE_FLOAT\" /> <!-- 0x3f800000 -->\n-</enum>\n-\n-<enum name=\"G80_TIC_TYPE\">\n-\t<value value=\"1\" name=\"SNORM\" />\n-\t<value value=\"2\" name=\"UNORM\" />\n-\t<value value=\"3\" name=\"SINT\" />\n-\t<value value=\"4\" name=\"UINT\" />\n-\t<value value=\"5\" name=\"SSCALED\" />\n-\t<value value=\"6\" name=\"USCALED\" />\n-\t<value value=\"7\" name=\"FLOAT\" />\n-</enum>\n-\n-<domain name=\"TIC\" size=\"0x20\" prefix=\"chipset\" variants=\"G80-\">\n+<domain name=\"TIC\" size=\"0x20\" prefix=\"chipset\" variants=\"G80:GM200\">\n \t<brief>Texture image control block</brief>\n \t<reg32 offset=\"0\" name=\"0\">\n-\t\t<bitfield high=\"29\" low=\"27\" name=\"MAPA\" type=\"G80_TIC_MAP\"/>\n-\t\t<bitfield high=\"26\" low=\"24\" name=\"MAPB\" type=\"G80_TIC_MAP\"/>\n-\t\t<bitfield high=\"23\" low=\"21\" name=\"MAPG\" type=\"G80_TIC_MAP\"/>\n-\t\t<bitfield high=\"20\" low=\"18\" name=\"MAPR\" type=\"G80_TIC_MAP\"/>\n-\t\t<bitfield high=\"17\" low=\"15\" name=\"TYPE3\" type=\"G80_TIC_TYPE\"/>\n-\t\t<bitfield high=\"14\" low=\"12\" name=\"TYPE2\" type=\"G80_TIC_TYPE\"/>\n-\t\t<bitfield high=\"11\" low=\"9\" name=\"TYPE1\" type=\"G80_TIC_TYPE\"/>\n-\t\t<bitfield high=\"8\" low=\"6\" name=\"TYPE0\" type=\"G80_TIC_TYPE\"/>\n-\t\t<bitfield high=\"5\" low=\"0\" name=\"FMT\">\n-\t\t\t<value value=\"0x01\" name=\"32_32_32_32\"/>\n-\t\t\t<value value=\"0x02\" name=\"32_32_32\" variants=\"GF100-\"/>\n-\t\t\t<value value=\"0x03\" name=\"16_16_16_16\"/>\n-\t\t\t<value value=\"0x04\" name=\"32_32\"/>\n-\t\t\t<value value=\"0x05\" name=\"32_8_X24\"/>\n-\t\t\t<value value=\"0x08\" name=\"8_8_8_8\"/>\n-\t\t\t<value value=\"0x09\" name=\"10_10_10_2\"/>\n-\t\t\t<value value=\"0x0c\" name=\"16_16\"/>\n-\t\t\t<value value=\"0x0d\" name=\"24_8\"/>\n-\t\t\t<value value=\"0x0e\" name=\"8_24\"/>\n-\t\t\t<value value=\"0x0f\" name=\"32\"/>\n-\t\t\t<value value=\"0x10\" name=\"BPTC_FLOAT\" variants=\"GF100-\"/>\n-\t\t\t<value value=\"0x11\" name=\"BPTC_UFLOAT\" variants=\"GF100-\"/>\n-\t\t\t<value value=\"0x12\" name=\"4_4_4_4\"/>\n-\t\t\t<value value=\"0x13\" name=\"1_5_5_5\"/>\n-\t\t\t<value value=\"0x14\" name=\"5_5_5_1\"/>\n-\t\t\t<value value=\"0x15\" name=\"5_6_5\"/>\n-\t\t\t<value value=\"0x16\" name=\"5_5_6\"/>\n-\t\t\t<value value=\"0x17\" name=\"BPTC\" variants=\"GF100-\"/>\n-\t\t\t<value value=\"0x18\" name=\"8_8\"/>\n-\t\t\t<value value=\"0x1b\" name=\"16\"/>\n-\t\t\t<value value=\"0x1d\" name=\"8\"/>\n-\t\t\t<value value=\"0x1e\" name=\"4_4\"/>\n-\t\t\t<value value=\"0x1f\" name=\"BITMAP\"/>\n-\t\t\t<value value=\"0x20\" name=\"9_9_9_E5\"/>\n-\t\t\t<value value=\"0x21\" name=\"11_11_10\"/>\n-\t\t\t<value value=\"0x22\" name=\"U8_YA8_V8_YB8\"/>\n-\t\t\t<value value=\"0x23\" name=\"YA8_U8_YB8_V8\"/>\n-\t\t\t<value value=\"0x24\" name=\"DXT1\" />\n-\t\t\t<value value=\"0x25\" name=\"DXT3\" />\n-\t\t\t<value value=\"0x26\" name=\"DXT5\" />\n-\t\t\t<value value=\"0x27\" name=\"RGTC1\" />\n-\t\t\t<value value=\"0x28\" name=\"RGTC2\" />\n-\t\t\t<value value=\"0x29\" name=\"S8_Z24\"/>\n-\t\t\t<value value=\"0x2a\" name=\"Z24_X8\"/>\n-\t\t\t<value value=\"0x2b\" name=\"Z24_S8\"/>\n-\t\t\t<value value=\"0x2c\" name=\"Z24_C8_MS4_CS4\"/>\n-\t\t\t<value value=\"0x2d\" name=\"Z24_C8_MS8_CS8\"/>\n-\t\t\t<value value=\"0x2e\" name=\"Z24_C8_MS4_CS12\"/>\n-\t\t\t<value value=\"0x2f\" name=\"Z32\"/>\n-\t\t\t<value value=\"0x30\" name=\"Z32_S8_X24\"/>\n-\t\t\t<value value=\"0x31\" name=\"Z24_X8_S8_C8_X16_MS4_CS4\"/>\n-\t\t\t<value value=\"0x32\" name=\"Z24_X8_S8_C8_X16_MS8_CS8\"/>\n-\t\t\t<value value=\"0x33\" name=\"Z32_X8_C8_X16_MS4_CS4\" />\n-\t\t\t<value value=\"0x34\" name=\"Z32_X8_C8_X16_MS8_CS8\" />\n-\t\t\t<value value=\"0x35\" name=\"Z32_S8_C8_X16_MS4_CS4\" />\n-\t\t\t<value value=\"0x36\" name=\"Z32_S8_C8_X16_MS8_CS8\" />\n-\t\t\t<value value=\"0x37\" name=\"Z24_X8_S8_C8_X16_MS4_CS12\"/>\n-\t\t\t<value value=\"0x38\" name=\"Z32_X8_C8_X16_MS4_CS12\" />\n-\t\t\t<value value=\"0x39\" name=\"Z32_S8_C8_X16_MS4_CS12\" />\n-\t\t\t<value value=\"0x3a\" name=\"Z16\" />\n+\t\t<bitfield pos=\"30\" name=\"PACK_COMPONENTS\">\n+\t\t\t<doc>native 8/16bit [U|S]NORMs and FP16 components packed tightly into registers</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"29\" low=\"27\" name=\"W_SOURCE\" type=\"G80_TIC_SOURCE\"/>\n+\t\t<bitfield high=\"26\" low=\"24\" name=\"Z_SOURCE\" type=\"G80_TIC_SOURCE\"/>\n+\t\t<bitfield high=\"23\" low=\"21\" name=\"Y_SOURCE\" type=\"G80_TIC_SOURCE\"/>\n+\t\t<bitfield high=\"20\" low=\"18\" name=\"X_SOURCE\" type=\"G80_TIC_SOURCE\"/>\n+\t\t<bitfield high=\"17\" low=\"15\" name=\"A_DATA_TYPE\" type=\"G80_TIC_TYPE\"/>\n+\t\t<bitfield high=\"14\" low=\"12\" name=\"B_DATA_TYPE\" type=\"G80_TIC_TYPE\"/>\n+\t\t<bitfield high=\"11\" low=\"9\" name=\"G_DATA_TYPE\" type=\"G80_TIC_TYPE\"/>\n+\t\t<bitfield high=\"8\" low=\"6\" name=\"R_DATA_TYPE\" type=\"G80_TIC_TYPE\"/>\n+\t\t<bitfield high=\"5\" low=\"0\" name=\"COMPONENTS\">\n+\t\t\t<doc>basic outline of the texel format</doc>\n+\t\t\t<value value=\"0x01\" name=\"R32_G32_B32_A32\"/>\n+\t\t\t<value value=\"0x02\" name=\"R32_G32_B32\" variants=\"GF100-\"/>\n+\t\t\t<value value=\"0x03\" name=\"R16_G16_B16_A16\"/>\n+\t\t\t<value value=\"0x04\" name=\"R32_G32\"/>\n+\t\t\t<value value=\"0x05\" name=\"R32_B24G8\"/>\n+\t\t\t<value value=\"0x07\" name=\"X8B8G8R8\"/>\n+\t\t\t<value value=\"0x08\" name=\"A8B8G8R8\"/>\n+\t\t\t<value value=\"0x09\" name=\"A2B10G10R10\"/>\n+\t\t\t<value value=\"0x0c\" name=\"R16_G16\"/>\n+\t\t\t<value value=\"0x0d\" name=\"G8R24\"/>\n+\t\t\t<value value=\"0x0e\" name=\"G24R8\"/>\n+\t\t\t<value value=\"0x0f\" name=\"R32\"/>\n+\t\t\t<value value=\"0x12\" name=\"A4B4G4R4\"/>\n+\t\t\t<value value=\"0x13\" name=\"A5B5G5R1\"/>\n+\t\t\t<value value=\"0x14\" name=\"A1B5G5R5\"/>\n+\t\t\t<value value=\"0x15\" name=\"B5G6R5\"/>\n+\t\t\t<value value=\"0x16\" name=\"B6G5R5\"/>\n+\t\t\t<value value=\"0x18\" name=\"G8R8\"/>\n+\t\t\t<value value=\"0x1b\" name=\"R16\"/>\n+\t\t\t<value value=\"0x1c\" name=\"Y8_VIDEO\"/>\n+\t\t\t<value value=\"0x1d\" name=\"R8\"/>\n+\t\t\t<value value=\"0x1e\" name=\"G4R4\"/>\n+\t\t\t<value value=\"0x1f\" name=\"R1\"/>\n+\t\t\t<value value=\"0x20\" name=\"E5B9G9R9_SHAREDEXP\"/>\n+\t\t\t<value value=\"0x21\" name=\"BF10GF11RF11\"/>\n+\t\t\t<value value=\"0x22\" name=\"G8B8G8R8\">\n+\t\t\t\t<doc>the same as UYVY</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x23\" name=\"B8G8R8G8\">\n+\t\t\t\t<doc>the same as YUY2</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x24\" name=\"DXT1\"/>\n+\t\t\t<value value=\"0x25\" name=\"DXT23\"/>\n+\t\t\t<value value=\"0x26\" name=\"DXT45\"/>\n+\t\t\t<value value=\"0x27\" name=\"DXN1\"/>\n+\t\t\t<value value=\"0x28\" name=\"DXN2\"/>\n+\t\t\t<value value=\"0x10\" name=\"BC6H_SF16\" variants=\"GF100-\">\n+\t\t\t\t<doc>similar to ZOH (FP16)</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x11\" name=\"BC6H_UF16\" variants=\"GF100-\">\n+\t\t\t\t<doc>similar to ZOH (UFP16)</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x17\" name=\"BC7U\" variants=\"GF100-\">\n+\t\t\t\t<doc>similar to ZOL (UNORM8)</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x06\" name=\"ETC2_RGB\"/>\n+\t\t\t<value value=\"0x0a\" name=\"ETC2_RGB_PTA\"/>\n+\t\t\t<value value=\"0x0b\" name=\"ETC2_RGBA\"/>\n+\t\t\t<value value=\"0x19\" name=\"EAC\"/>\n+\t\t\t<value value=\"0x1a\" name=\"EACX2\"/>\n+\n+\t\t\t<value value=\"0x29\" name=\"Z24S8\">\n+\t\t\t\t<doc>stencil,    no VCAA,   24-bit fixed-point depth (legacy format)</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x2a\" name=\"X8Z24\">\n+\t\t\t\t<doc>no stencil, no VCAA,   24-bit fixed-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x2b\" name=\"S8Z24\">\n+\t\t\t\t<doc>stencil,    no VCAA,   24-bit fixed-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x2c\" name=\"X4V4Z24__COV4R4V\">\n+\t\t\t\t<doc>no stencil, 4+4 VCAA,  24-bit fixed-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x2d\" name=\"X4V4Z24__COV8R8V\">\n+\t\t\t\t<doc>no stencil, 8+8 VCAA,  24-bit fixed-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x2e\" name=\"V8Z24__COV4R12V\">\n+\t\t\t\t<doc>no stencil, 4+12 VCAA, 24-bit fixed-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x2f\" name=\"ZF32\">\n+\t\t\t\t<doc>no stencil, no VCAA,   32-bit floating-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x30\" name=\"ZF32_X24S8\">\n+\t\t\t\t<doc>stencil,    no VCAA,   32-bit floating-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x31\" name=\"X8Z24_X20V4S8__COV4R4V\">\n+\t\t\t\t<doc>stencil,    4+4 VCAA,  24-bit fixed-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x32\" name=\"X8Z24_X20V4S8__COV8R8V\">\n+\t\t\t\t<doc>stencil,    8+8 VCAA,  24-bit fixed-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x33\" name=\"ZF32_X20V4X8__COV4R4V\">\n+\t\t\t\t<doc>no stencil, 4+4 VCAA,  32-bit floating-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x34\" name=\"ZF32_X20V4X8__COV8R8V\">\n+\t\t\t\t<doc>no stencil, 8+8 VCAA,  32-bit floating-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x35\" name=\"ZF32_X20V4S8__COV4R4V\">\n+\t\t\t\t<doc>stencil,    4+4 VCAA,  32-bit floating-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x36\" name=\"ZF32_X20V4S8__COV8R8V\">\n+\t\t\t\t<doc>stencil,    8+8 VCAA,  32-bit floating-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x37\" name=\"X8Z24_X16V8S8__COV4R12V\">\n+\t\t\t\t<doc>stencil,    4+12 VCAA, 24-bit fixed-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x38\" name=\"ZF32_X16V8X8__COV4R12V\">\n+\t\t\t\t<doc>no stencil, 4+12 VCAA, 32-bit floating-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x39\" name=\"ZF32_X16V8S8__COV4R12V\">\n+\t\t\t\t<doc>stencil,    4+12 VCAA, 32-bit floating-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x3a\" name=\"Z16\">\n+\t\t\t\t<doc>no stencil, no VCAA,   16-bit fixed-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x3b\" name=\"V8Z24__COV8R24V\">\n+\t\t\t\t<doc>no stencil, 8+24 VCAA, 24-bit fixed-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x3c\" name=\"X8Z24_X16V8S8__COV8R24V\">\n+\t\t\t\t<doc>stencil,    8+24 VCAA, 24-bit fixed-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x3d\" name=\"ZF32_X16V8X8__COV8R24V\">\n+\t\t\t\t<doc>no stencil, 8+24 VCAA, 32-bit floating-point depth</doc>\n+\t\t\t</value>\n+\t\t\t<value value=\"0x3e\" name=\"ZF32_X16V8S8__COV8R24V\">\n+\t\t\t\t<doc>stencil,    8+24 VCAA, 32-bit floating-point depth</doc>\n+\t\t\t</value>\n \t\t</bitfield>\n \t</reg32>\n \n \t<reg32 offset=\"0x4\" name=\"1\">\n-\t\t<bitfield high=\"31\" low=\"0\" name=\"OFFSET_LOW\" />\n+\t\t<bitfield high=\"31\" low=\"0\" name=\"OFFSET_LOWER\" />\n \t</reg32>\n \n \t<reg32 offset=\"0x8\" name=\"2\">\n-\t\t<bitfield high=\"7\" low=\"0\" name=\"OFFSET_HIGH\" />\n-\t\t<bitfield pos=\"10\" name=\"COLORSPACE_SRGB\" />\n-\t\t<bitfield high=\"17\" low=\"14\" name=\"TARGET\">\n-\t\t\t<value value=\"0\" name=\"1D\" />\n-\t\t\t<value value=\"1\" name=\"2D\" />\n-\t\t\t<value value=\"2\" name=\"3D\" />\n-\t\t\t<value value=\"3\" name=\"CUBE\" />\n-\t\t\t<value value=\"4\" name=\"1D_ARRAY\" />\n-\t\t\t<value value=\"5\" name=\"2D_ARRAY\" />\n-\t\t\t<value value=\"6\" name=\"BUFFER\" />\n-\t\t\t<value value=\"7\" name=\"RECT\" />\n-\t\t\t<value value=\"8\" name=\"CUBE_ARRAY\" />\n+\t\t<bitfield high=\"7\" low=\"0\" name=\"OFFSET_UPPER\" />\n+\t\t<bitfield high=\"9\" low=\"8\" name=\"ANISO_SPREAD_MAX_LOG2_LSB\" variants=\"G84-\">\n+\t\t\t<doc>LSBs of Log(aniso-filter spread)</doc>\n \t\t</bitfield>\n+\t\t<bitfield pos=\"10\" name=\"SRGB_CONVERSION\" />\n+\t\t<bitfield pos=\"11\" name=\"ANISO_SPREAD_MAX_LOG2_MSB\" variants=\"G84-\">\n+\t\t\t<doc>MSB of Log(aniso-filter spread)</doc>\n+\t\t</bitfield>\n+\t\t<bitfield pos=\"12\" name=\"LOD_ANISO_QUALITY_2\">\n+\t\t\t<doc>enable more accurate aniso ratio to solve nv40 artifact. May reduce perf</doc>\n+\t\t</bitfield>\n+\t\t<bitfield pos=\"13\" name=\"COLOR_KEY_OP\">\n+\t\t\t<doc>enable/disable colorkey kill</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"17\" low=\"14\" name=\"TEXTURE_TYPE\" type=\"g80_texture_type\"/>\n \t\t<bitfield pos=\"18\" name=\"LAYOUT\" type=\"inv_memory_layout\" />\n-\t\t<bitfield high=\"21\" low=\"19\" name=\"BLOCK_WIDTH\" min=\"0\" max=\"1\" />\n-\t\t<bitfield high=\"24\" low=\"22\" name=\"BLOCK_HEIGHT\" min=\"0\" max=\"5\" />\n-\t\t<bitfield high=\"27\" low=\"25\" name=\"BLOCK_DEPTH\" min=\"0\" max=\"5\" />\n-\t\t<bitfield high=\"29\" low=\"28\" name=\"2D_UNK0258\" />\n-\t\t<bitfield pos=\"30\" name=\"NO_BORDER\"/> <!-- if 0, texture includes one-texel border that isn't counted in its dimensions. -->\n+\t\t<bitfield high=\"21\" low=\"19\" name=\"GOBS_PER_BLOCK_WIDTH\" type=\"g80_gobs_per_block\" min=\"0\" max=\"0\">\n+\t\t\t<doc>width of block in gobs, with only one choice - IGNORED BY TEX (ASSUMED ONE_GOB)</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"24\" low=\"22\" name=\"GOBS_PER_BLOCK_HEIGHT\" type=\"g80_gobs_per_block\">\n+\t\t\t<doc>height of block in gobs</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"27\" low=\"25\" name=\"GOBS_PER_BLOCK_DEPTH\" type=\"g80_gobs_per_block\">\n+\t\t\t<doc>depth of block in gobs</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"29\" low=\"28\" name=\"SECTOR_PROMOTION\" type=\"g80_sector_promotion\">\n+\t\t\t<doc>promote sectors in the cache line</doc>\n+\t\t</bitfield>\n+\t\t<bitfield pos=\"30\" name=\"BORDER_SOURCE\">\n+\t\t\t<value value=\"0x0\" name=\"TEXTURE\"/>\n+\t\t\t<value value=\"0x1\" name=\"COLOR\"/>\n+\t\t</bitfield>\n \t\t<bitfield pos=\"31\" name=\"NORMALIZED_COORDS\" />\n \t</reg32>\n \n \t<reg32 offset=\"0xc\" name=\"3\">\n-\t\t<bitfield high=\"31\" low=\"0\" name=\"PITCH\">\n-\t\t\t<brief>for pitch textures</brief>\n+\t\t<bitfield high=\"19\" low=\"0\" name=\"PITCH\">\n+\t\t\t<brief>used only for PITCH mode TWO_D_NO_MIPMAP texture type</brief>\n+\t\t</bitfield>\n+\t\t<bitfield pos=\"20\" name=\"LOD_ANISO_QUALITY\" type=\"g80_lod_quality\">\n+\t\t\t<doc>enable use of 4 vectors for aniso lod calculation</doc>\n+\t\t</bitfield>\n+\t\t<bitfield pos=\"21\" name=\"LOD_ISO_QUALITY\" type=\"g80_lod_quality\">\n+\t\t\t<doc>enable use of 4 vectors for iso lod calculation</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"23\" low=\"22\" name=\"ANISO_COARSE_SPREAD_MODIFIER\" type=\"g80_aniso_spread_modifier\">\n+\t\t\t<doc>spread modifier modifies coarse spread only, not sample count</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"28\" low=\"24\" name=\"ANISO_SPREAD_SCALE\">\n+\t\t\t<doc>scale spread by 2^(x/32), adjust sample count accordingly. Applied after spread func</doc>\n+\t\t</bitfield>\n+\t\t<bitfield pos=\"29\" name=\"USE_HEADER_OPT_CONTROL\" type=\"boolean\">\n+\t\t\t<doc>1: use optimization controls in header;  0: use optimization controls in sampler. The affected optimization controls are: MAX_ANISOTROPY; MIP_LOD_BIAS; TRILIN_OPT</doc>\n+\t\t</bitfield>\n+\t\t<bitfield pos=\"30\" name=\"ANISO_CLAMP_AT_MAX_LOD\" type=\"boolean\" variants=\"G84-\">\n+\t\t\t<doc>enable clamping of aniso ratio to be less than the texture size</doc>\n+\t\t</bitfield>\n+\t\t<bitfield pos=\"31\" name=\"ANISO_POW2\" type=\"boolean\" variants=\"G84-\">\n+\t\t\t<doc>enable truncation of aniso ratio to power of two</doc>\n \t\t</bitfield>\n \t</reg32>\n \n \t<reg32 offset=\"0x10\" name=\"4\">\n-\t\t<bitfield high=\"31\" low=\"0\" name=\"WIDTH\" />\n+\t\t<bitfield high=\"29\" low=\"0\" name=\"WIDTH\" />\n+\t\t<bitfield pos=\"30\" name=\"DEPTH_TEXTURE\" type=\"boolean\">\n+\t\t\t<doc>Tells texture unit to smear border color from R to RGBA channels</doc>\n+\t\t</bitfield>\n+\t\t<bitfield pos=\"31\" name=\"USE_TEXTURE_HEADER_V2\" type=\"boolean\">\n+\t\t\t<doc>if 0, then byte 7 of the TIC is used to store the color key value. Should always be 1.</doc>\n+\t\t</bitfield>\n \t</reg32>\n \n \t<reg32 offset=\"0x14\" name=\"5\">\n-\t\t<bitfield high=\"31\" low=\"28\" name=\"LAST_LEVEL\" />\n+\t\t<bitfield high=\"31\" low=\"28\" name=\"MAP_MIP_LEVEL\" />\n \t\t<bitfield high=\"27\" low=\"16\" name=\"DEPTH\" />\n \t\t<bitfield high=\"15\" low=\"0\" name=\"HEIGHT\">\n \t\t\t<doc>Set to 0 for height of 65536.</doc>\n \t\t</bitfield>\n \t</reg32>\n \n+\t<reg32 offset=\"0x18\" name=\"6\">\n+\t\t<bitfield high=\"4\" low=\"0\" name=\"TRILIN_OPT\">\n+\t\t\t<doc>slope for trilinear optimization, e2m3, controlled by USE_HEADER_OPT_CONTROL</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"17\" low=\"5\" name=\"MIP_LOD_BIAS\">\n+\t\t\t<doc>bias added to lod, s5.8 number, use controlled by USE_HEADER_OPT_CONTROL</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"22\" low=\"19\" name=\"ANISO_BIAS\">\n+\t\t\t<doc>aniso ratio (minor/major) is multiplied by 1+anisoBias to fatten footprints, u0.4. Spread functions modify the spread as a function of distance = fine? lodf: 1-lodf. Note that sample count is adjusted accordingly to cover the entire footprint</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"24\" low=\"23\" name=\"ANISO_FINE_SPREAD_FUNC\" type=\"g80_aniso_spread_func\">\n+\t\t\t<doc>aniso optimization function used for fine level (nv3x &amp; nv4x use 2)</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"26\" low=\"25\" name=\"ANISO_COARSE_SPREAD_FUNC\" type=\"g80_aniso_spread_func\">\n+\t\t\t<doc>aniso optimization function used for coarse level (nv3x &amp; nv4x use 0)</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"29\" low=\"27\" name=\"MAX_ANISOTROPY\" type=\"g80_max_anisotropy\">\n+\t\t\t<doc>max aniso ratio (major/minor), use controlled by USE_HEADER_OPT_CONTROL</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"31\" low=\"30\" name=\"ANISO_FINE_SPREAD_MODIFIER\" type=\"g80_aniso_spread_modifier\">\n+\t\t\t<doc>spread modifier modifies fine spread only, not sample count</doc>\n+\t\t</bitfield>\n+\t</reg32>\n+\n \t<reg32 offset=\"0x1c\" name=\"7\">\n-\t\t<bitfield high=\"3\" low=\"0\" name=\"BASE_LEVEL\" />\n-\t\t<bitfield high=\"7\" low=\"4\" name=\"MAX_LEVEL\" />\n-\t\t<bitfield high=\"15\" low=\"12\" name=\"MS_MODE\" type=\"g80_msaa_mode\">\n-\t\t\t<doc>Like g80/gf100_msaa_mode, dimensions are unaffected.</doc>\n+\t\t<bitfield high=\"3\" low=\"0\" name=\"RES_VIEW_MIN_MIP_LEVEL\">\n+\t\t\t<doc>min LOD for texture resource views</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"7\" low=\"4\" name=\"RES_VIEW_MAX_MIP_LEVEL\">\n+\t\t\t<doc>max LOD for texture resource views</doc>\n+\t\t</bitfield>\n+\t\t<bitfield pos=\"8\" name=\"HEIGHT_MSB\">\n+\t\t\t<doc>bit 16 of the texture's height, bits 0-15 are in Dword5</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"15\" low=\"12\" name=\"MULTI_SAMPLE_COUNT\" type=\"g80_msaa_mode\">\n+\t\t\t<doc>Like g80/gf100_msaa_mode, dimensions are unaffected. return value for the TEX_HEADER_TEXTURE_TYPE ISA instruction</doc>\n+\t\t</bitfield>\n+\t\t<bitfield high=\"27\" low=\"16\" name=\"MIN_LOD_CLAMP\">","path":"rnndb/graph/g80_texture.xml","position":371,"original_position":371,"commit_id":"8b05228ad8604546c49761ee3c9a8ca62253409c","original_commit_id":"8b05228ad8604546c49761ee3c9a8ca62253409c","user":{"login":"Gnurou","id":148255,"avatar_url":"https://avatars.githubusercontent.com/u/148255?v=3","gravatar_id":"","url":"https://api.github.com/users/Gnurou","html_url":"https://github.com/Gnurou","followers_url":"https://api.github.com/users/Gnurou/followers","following_url":"https://api.github.com/users/Gnurou/following{/other_user}","gists_url":"https://api.github.com/users/Gnurou/gists{/gist_id}","starred_url":"https://api.github.com/users/Gnurou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gnurou/subscriptions","organizations_url":"https://api.github.com/users/Gnurou/orgs","repos_url":"https://api.github.com/users/Gnurou/repos","events_url":"https://api.github.com/users/Gnurou/events{/privacy}","received_events_url":"https://api.github.com/users/Gnurou/received_events","type":"User","site_admin":false},"body":"Should be fixed throughout the patch.","created_at":"2015-12-17T05:39:40Z","updated_at":"2015-12-17T05:39:40Z","html_url":"https://github.com/envytools/envytools/pull/33#discussion_r47871235","pull_request_url":"https://api.github.com/repos/envytools/envytools/pulls/33","_links":{"self":{"href":"https://api.github.com/repos/envytools/envytools/pulls/comments/47871235"},"html":{"href":"https://github.com/envytools/envytools/pull/33#discussion_r47871235"},"pull_request":{"href":"https://api.github.com/repos/envytools/envytools/pulls/33"}}},"pull_request":{"url":"https://api.github.com/repos/envytools/envytools/pulls/33","id":53815762,"html_url":"https://github.com/envytools/envytools/pull/33","diff_url":"https://github.com/envytools/envytools/pull/33.diff","patch_url":"https://github.com/envytools/envytools/pull/33.patch","issue_url":"https://api.github.com/repos/envytools/envytools/issues/33","number":33,"state":"open","locked":false,"title":"Document Maxwell 2's texture headers","user":{"login":"Gnurou","id":148255,"avatar_url":"https://avatars.githubusercontent.com/u/148255?v=3","gravatar_id":"","url":"https://api.github.com/users/Gnurou","html_url":"https://github.com/Gnurou","followers_url":"https://api.github.com/users/Gnurou/followers","following_url":"https://api.github.com/users/Gnurou/following{/other_user}","gists_url":"https://api.github.com/users/Gnurou/gists{/gist_id}","starred_url":"https://api.github.com/users/Gnurou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gnurou/subscriptions","organizations_url":"https://api.github.com/users/Gnurou/orgs","repos_url":"https://api.github.com/users/Gnurou/repos","events_url":"https://api.github.com/users/Gnurou/events{/privacy}","received_events_url":"https://api.github.com/users/Gnurou/received_events","type":"User","site_admin":false},"body":"This PR does two things:\r\n\r\n1) Update the G80 header documentation to complete them and harmonize the names with NVIDIA's\r\n2) Add the complete documentation for the GM2 texture headers. This new format is the only one recognized by GM200 and later chips.\r\n\r\nThe renaming of G80 is helpful in that it helps understanding where fields have moved in the new GM2 structures, however it will impact code using the generated headers. If I went too far in the renaming frenzy, please let me know.\r\n\r\nAlso I am not too sure whether my usage of the inline property in the new enums is correct.","created_at":"2015-12-16T09:17:30Z","updated_at":"2015-12-17T05:39:40Z","closed_at":null,"merged_at":null,"merge_commit_sha":"337edfa1df3d977606da30d8430448255490d2e2","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/envytools/envytools/pulls/33/commits","review_comments_url":"https://api.github.com/repos/envytools/envytools/pulls/33/comments","review_comment_url":"https://api.github.com/repos/envytools/envytools/pulls/comments{/number}","comments_url":"https://api.github.com/repos/envytools/envytools/issues/33/comments","statuses_url":"https://api.github.com/repos/envytools/envytools/statuses/8b05228ad8604546c49761ee3c9a8ca62253409c","head":{"label":"Gnurou:gm2_tex","ref":"gm2_tex","sha":"8b05228ad8604546c49761ee3c9a8ca62253409c","user":{"login":"Gnurou","id":148255,"avatar_url":"https://avatars.githubusercontent.com/u/148255?v=3","gravatar_id":"","url":"https://api.github.com/users/Gnurou","html_url":"https://github.com/Gnurou","followers_url":"https://api.github.com/users/Gnurou/followers","following_url":"https://api.github.com/users/Gnurou/following{/other_user}","gists_url":"https://api.github.com/users/Gnurou/gists{/gist_id}","starred_url":"https://api.github.com/users/Gnurou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gnurou/subscriptions","organizations_url":"https://api.github.com/users/Gnurou/orgs","repos_url":"https://api.github.com/users/Gnurou/repos","events_url":"https://api.github.com/users/Gnurou/events{/privacy}","received_events_url":"https://api.github.com/users/Gnurou/received_events","type":"User","site_admin":false},"repo":{"id":48099483,"name":"envytools","full_name":"Gnurou/envytools","owner":{"login":"Gnurou","id":148255,"avatar_url":"https://avatars.githubusercontent.com/u/148255?v=3","gravatar_id":"","url":"https://api.github.com/users/Gnurou","html_url":"https://github.com/Gnurou","followers_url":"https://api.github.com/users/Gnurou/followers","following_url":"https://api.github.com/users/Gnurou/following{/other_user}","gists_url":"https://api.github.com/users/Gnurou/gists{/gist_id}","starred_url":"https://api.github.com/users/Gnurou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gnurou/subscriptions","organizations_url":"https://api.github.com/users/Gnurou/orgs","repos_url":"https://api.github.com/users/Gnurou/repos","events_url":"https://api.github.com/users/Gnurou/events{/privacy}","received_events_url":"https://api.github.com/users/Gnurou/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Gnurou/envytools","description":"Tools for people envious of nvidia's blob driver.","fork":true,"url":"https://api.github.com/repos/Gnurou/envytools","forks_url":"https://api.github.com/repos/Gnurou/envytools/forks","keys_url":"https://api.github.com/repos/Gnurou/envytools/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Gnurou/envytools/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Gnurou/envytools/teams","hooks_url":"https://api.github.com/repos/Gnurou/envytools/hooks","issue_events_url":"https://api.github.com/repos/Gnurou/envytools/issues/events{/number}","events_url":"https://api.github.com/repos/Gnurou/envytools/events","assignees_url":"https://api.github.com/repos/Gnurou/envytools/assignees{/user}","branches_url":"https://api.github.com/repos/Gnurou/envytools/branches{/branch}","tags_url":"https://api.github.com/repos/Gnurou/envytools/tags","blobs_url":"https://api.github.com/repos/Gnurou/envytools/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Gnurou/envytools/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Gnurou/envytools/git/refs{/sha}","trees_url":"https://api.github.com/repos/Gnurou/envytools/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Gnurou/envytools/statuses/{sha}","languages_url":"https://api.github.com/repos/Gnurou/envytools/languages","stargazers_url":"https://api.github.com/repos/Gnurou/envytools/stargazers","contributors_url":"https://api.github.com/repos/Gnurou/envytools/contributors","subscribers_url":"https://api.github.com/repos/Gnurou/envytools/subscribers","subscription_url":"https://api.github.com/repos/Gnurou/envytools/subscription","commits_url":"https://api.github.com/repos/Gnurou/envytools/commits{/sha}","git_commits_url":"https://api.github.com/repos/Gnurou/envytools/git/commits{/sha}","comments_url":"https://api.github.com/repos/Gnurou/envytools/comments{/number}","issue_comment_url":"https://api.github.com/repos/Gnurou/envytools/issues/comments{/number}","contents_url":"https://api.github.com/repos/Gnurou/envytools/contents/{+path}","compare_url":"https://api.github.com/repos/Gnurou/envytools/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Gnurou/envytools/merges","archive_url":"https://api.github.com/repos/Gnurou/envytools/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Gnurou/envytools/downloads","issues_url":"https://api.github.com/repos/Gnurou/envytools/issues{/number}","pulls_url":"https://api.github.com/repos/Gnurou/envytools/pulls{/number}","milestones_url":"https://api.github.com/repos/Gnurou/envytools/milestones{/number}","notifications_url":"https://api.github.com/repos/Gnurou/envytools/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Gnurou/envytools/labels{/name}","releases_url":"https://api.github.com/repos/Gnurou/envytools/releases{/id}","created_at":"2015-12-16T09:09:56Z","updated_at":"2015-12-16T09:09:58Z","pushed_at":"2015-12-16T09:10:53Z","git_url":"git://github.com/Gnurou/envytools.git","ssh_url":"git@github.com:Gnurou/envytools.git","clone_url":"https://github.com/Gnurou/envytools.git","svn_url":"https://github.com/Gnurou/envytools","homepage":"","size":12818,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"envytools:master","ref":"master","sha":"2275bd4e16098534b2af2584a4667a4b0224dff7","user":{"login":"envytools","id":5074954,"avatar_url":"https://avatars.githubusercontent.com/u/5074954?v=3","gravatar_id":"","url":"https://api.github.com/users/envytools","html_url":"https://github.com/envytools","followers_url":"https://api.github.com/users/envytools/followers","following_url":"https://api.github.com/users/envytools/following{/other_user}","gists_url":"https://api.github.com/users/envytools/gists{/gist_id}","starred_url":"https://api.github.com/users/envytools/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/envytools/subscriptions","organizations_url":"https://api.github.com/users/envytools/orgs","repos_url":"https://api.github.com/users/envytools/repos","events_url":"https://api.github.com/users/envytools/events{/privacy}","received_events_url":"https://api.github.com/users/envytools/received_events","type":"Organization","site_admin":false},"repo":{"id":11620001,"name":"envytools","full_name":"envytools/envytools","owner":{"login":"envytools","id":5074954,"avatar_url":"https://avatars.githubusercontent.com/u/5074954?v=3","gravatar_id":"","url":"https://api.github.com/users/envytools","html_url":"https://github.com/envytools","followers_url":"https://api.github.com/users/envytools/followers","following_url":"https://api.github.com/users/envytools/following{/other_user}","gists_url":"https://api.github.com/users/envytools/gists{/gist_id}","starred_url":"https://api.github.com/users/envytools/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/envytools/subscriptions","organizations_url":"https://api.github.com/users/envytools/orgs","repos_url":"https://api.github.com/users/envytools/repos","events_url":"https://api.github.com/users/envytools/events{/privacy}","received_events_url":"https://api.github.com/users/envytools/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/envytools/envytools","description":"Tools for people envious of nvidia's blob driver.","fork":false,"url":"https://api.github.com/repos/envytools/envytools","forks_url":"https://api.github.com/repos/envytools/envytools/forks","keys_url":"https://api.github.com/repos/envytools/envytools/keys{/key_id}","collaborators_url":"https://api.github.com/repos/envytools/envytools/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/envytools/envytools/teams","hooks_url":"https://api.github.com/repos/envytools/envytools/hooks","issue_events_url":"https://api.github.com/repos/envytools/envytools/issues/events{/number}","events_url":"https://api.github.com/repos/envytools/envytools/events","assignees_url":"https://api.github.com/repos/envytools/envytools/assignees{/user}","branches_url":"https://api.github.com/repos/envytools/envytools/branches{/branch}","tags_url":"https://api.github.com/repos/envytools/envytools/tags","blobs_url":"https://api.github.com/repos/envytools/envytools/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/envytools/envytools/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/envytools/envytools/git/refs{/sha}","trees_url":"https://api.github.com/repos/envytools/envytools/git/trees{/sha}","statuses_url":"https://api.github.com/repos/envytools/envytools/statuses/{sha}","languages_url":"https://api.github.com/repos/envytools/envytools/languages","stargazers_url":"https://api.github.com/repos/envytools/envytools/stargazers","contributors_url":"https://api.github.com/repos/envytools/envytools/contributors","subscribers_url":"https://api.github.com/repos/envytools/envytools/subscribers","subscription_url":"https://api.github.com/repos/envytools/envytools/subscription","commits_url":"https://api.github.com/repos/envytools/envytools/commits{/sha}","git_commits_url":"https://api.github.com/repos/envytools/envytools/git/commits{/sha}","comments_url":"https://api.github.com/repos/envytools/envytools/comments{/number}","issue_comment_url":"https://api.github.com/repos/envytools/envytools/issues/comments{/number}","contents_url":"https://api.github.com/repos/envytools/envytools/contents/{+path}","compare_url":"https://api.github.com/repos/envytools/envytools/compare/{base}...{head}","merges_url":"https://api.github.com/repos/envytools/envytools/merges","archive_url":"https://api.github.com/repos/envytools/envytools/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/envytools/envytools/downloads","issues_url":"https://api.github.com/repos/envytools/envytools/issues{/number}","pulls_url":"https://api.github.com/repos/envytools/envytools/pulls{/number}","milestones_url":"https://api.github.com/repos/envytools/envytools/milestones{/number}","notifications_url":"https://api.github.com/repos/envytools/envytools/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/envytools/envytools/labels{/name}","releases_url":"https://api.github.com/repos/envytools/envytools/releases{/id}","created_at":"2013-07-23T21:43:43Z","updated_at":"2015-12-09T12:35:51Z","pushed_at":"2015-12-16T09:17:30Z","git_url":"git://github.com/envytools/envytools.git","ssh_url":"git@github.com:envytools/envytools.git","clone_url":"https://github.com/envytools/envytools.git","svn_url":"https://github.com/envytools/envytools","homepage":"","size":12850,"stargazers_count":45,"watchers_count":45,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":20,"mirror_url":null,"open_issues_count":3,"forks":20,"open_issues":3,"watchers":45,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/envytools/envytools/pulls/33"},"html":{"href":"https://github.com/envytools/envytools/pull/33"},"issue":{"href":"https://api.github.com/repos/envytools/envytools/issues/33"},"comments":{"href":"https://api.github.com/repos/envytools/envytools/issues/33/comments"},"review_comments":{"href":"https://api.github.com/repos/envytools/envytools/pulls/33/comments"},"review_comment":{"href":"https://api.github.com/repos/envytools/envytools/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/envytools/envytools/pulls/33/commits"},"statuses":{"href":"https://api.github.com/repos/envytools/envytools/statuses/8b05228ad8604546c49761ee3c9a8ca62253409c"}}}}