11c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák/* 21c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * Copyright (C) 2009 Nicolai Haehnle. 31c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * 41c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * All Rights Reserved. 51c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * 61c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * Permission is hereby granted, free of charge, to any person obtaining 71c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * a copy of this software and associated documentation files (the 81c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * "Software"), to deal in the Software without restriction, including 91c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * without limitation the rights to use, copy, modify, merge, publish, 101c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * distribute, sublicense, and/or sell copies of the Software, and to 111c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * permit persons to whom the Software is furnished to do so, subject to 121c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * the following conditions: 131c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * 141c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * The above copyright notice and this permission notice (including the 151c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * next paragraph) shall be included in all copies or substantial 161c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * portions of the Software. 171c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * 181c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 191c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 201c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 211c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE 221c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 231c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 241c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 251c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák * 261c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák */ 271c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák 281c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák#include "radeon_opcodes.h" 291c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák#include "radeon_program.h" 301c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák 311c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák#include "radeon_program_constants.h" 321c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák 331c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšákstruct rc_opcode_info rc_opcodes[MAX_RC_OPCODE] = { 341c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 351c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_NOP, 361c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "NOP" 371c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 381c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 391c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_ILLEGAL_OPCODE, 401c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "ILLEGAL OPCODE" 411c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 421c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 431c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_ABS, 441c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "ABS", 451c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 461c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 471c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 481c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 491c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 501c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_ADD, 511c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "ADD", 521c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 531c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 541c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 551c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 561c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 571c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_ARL, 581c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "ARL", 591c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 601c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 611c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 621c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 631c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_CEIL, 641c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "CEIL", 651c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 661c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 671c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 681c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 691c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 701c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_CLAMP, 711c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "CLAMP", 721c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 3, 731c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 741c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 751c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 761c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 771c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_CMP, 781c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "CMP", 791c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 3, 801c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 811c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 821c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 831c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 841c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_CND, 851c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "CND", 861c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 3, 871c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 881c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 891c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 901c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 911c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_COS, 921c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "COS", 931c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 941c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 951c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsStandardScalar = 1 961c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 971c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 981c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_DDX, 991c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "DDX", 1001c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 1011c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 1021c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 1031c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1041c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1051c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_DDY, 1061c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "DDY", 1071c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 1081c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 1091c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 1101c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1111c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1121c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_DP2, 1131c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "DP2", 1141c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 1151c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 1161c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1171c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1181c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_DP3, 1191c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "DP3", 1201c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 1211c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 1221c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1231c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1241c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_DP4, 1251c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "DP4", 1261c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 1271c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 1281c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1291c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1301c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_DPH, 1311c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "DPH", 1321c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 1331c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 1341c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1351c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1361c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_DST, 1371c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "DST", 1381c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 1391c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 1401c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1411c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1421c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_EX2, 1431c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "EX2", 1441c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 1451c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 1461c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsStandardScalar = 1 1471c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1481c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1491c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_EXP, 1501c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "EXP", 1511c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 1521c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 1531c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1541c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1551c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_FLR, 1561c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "FLR", 1571c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 1581c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 1591c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 1601c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1611c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1621c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_FRC, 1631c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "FRC", 1641c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 1651c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 1661c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 1671c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1681c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1691c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_KIL, 1701c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "KIL", 1711c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1 1721c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1731c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1741c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_LG2, 1751c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "LG2", 1761c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 1771c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 1781c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsStandardScalar = 1 1791c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1801c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1811c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_LIT, 1821c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "LIT", 1831c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 1841c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 1851c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1861c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1871c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_LOG, 1881c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "LOG", 1891c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 1901c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 1911c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1921c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 1931c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_LRP, 1941c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "LRP", 1951c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 3, 1961c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 1971c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 1981c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 1991c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 2001c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_MAD, 2011c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "MAD", 2021c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 3, 2031c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 2041c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 2051c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 2061c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 2071c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_MAX, 2081c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "MAX", 2091c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 2101c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 2111c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 2121c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 2131c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 2141c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_MIN, 2151c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "MIN", 2161c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 2171c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 2181c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 2191c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 2201c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 2211c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_MOV, 2221c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "MOV", 2231c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 2241c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 2251c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 2261c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 2271c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 2281c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_MUL, 2291c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "MUL", 2301c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 2311c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 2321c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 2331c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 2341c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 2351c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_POW, 2361c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "POW", 2371c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 2381c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 2391c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsStandardScalar = 1 2401c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 2411c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 2421c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_RCP, 2431c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "RCP", 2441c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 2451c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 2461c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsStandardScalar = 1 2471c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 2481c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 2493d32e589879806297258e36ea80aae5044293ca3Tom Stellard .Opcode = RC_OPCODE_ROUND, 2503d32e589879806297258e36ea80aae5044293ca3Tom Stellard .Name = "ROUND", 2513d32e589879806297258e36ea80aae5044293ca3Tom Stellard .NumSrcRegs = 1, 2523d32e589879806297258e36ea80aae5044293ca3Tom Stellard .HasDstReg = 1, 2533d32e589879806297258e36ea80aae5044293ca3Tom Stellard .IsComponentwise = 1 2543d32e589879806297258e36ea80aae5044293ca3Tom Stellard }, 2553d32e589879806297258e36ea80aae5044293ca3Tom Stellard { 2561c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_RSQ, 2571c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "RSQ", 2581c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 2591c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 2601c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsStandardScalar = 1 2611c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 2621c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 2631c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_SCS, 2641c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "SCS", 2651c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 2661c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 2671c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 2681c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 2691c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_SEQ, 2701c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "SEQ", 2711c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 2721c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 2731c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 2741c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 2751c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 2761c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_SFL, 2771c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "SFL", 2781c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 0, 2791c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 2801c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 2811c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 2821c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 2831c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_SGE, 2841c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "SGE", 2851c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 2861c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 2871c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 2881c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 2891c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 2901c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_SGT, 2911c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "SGT", 2921c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 2931c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 2941c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 2951c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 2961c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 2971c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_SIN, 2981c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "SIN", 2991c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 3001c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 3011c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsStandardScalar = 1 3021c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 3031c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 3041c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_SLE, 3051c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "SLE", 3061c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 3071c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 3081c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 3091c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 3101c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 3111c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_SLT, 3121c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "SLT", 3131c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 3141c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 3151c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 3161c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 3171c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 3181c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_SNE, 3191c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "SNE", 3201c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 3211c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 3221c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 3231c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 3241c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 3251c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_SSG, 3261c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "SSG", 3271c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 3281c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 3291c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 3301c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 3311c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 3321c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_SUB, 3331c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "SUB", 3341c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 3351c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 3361c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 3371c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 3381c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 3391c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_SWZ, 3401c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "SWZ", 3411c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 3421c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1, 3431c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsComponentwise = 1 3441c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 3451c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 3467f0fcf17c342dcb788c2182b20973c48806ee498Marek Olšák .Opcode = RC_OPCODE_TRUNC, 3477f0fcf17c342dcb788c2182b20973c48806ee498Marek Olšák .Name = "TRUNC", 3487f0fcf17c342dcb788c2182b20973c48806ee498Marek Olšák .NumSrcRegs = 1, 3497f0fcf17c342dcb788c2182b20973c48806ee498Marek Olšák .HasDstReg = 1, 3507f0fcf17c342dcb788c2182b20973c48806ee498Marek Olšák .IsComponentwise = 1 3517f0fcf17c342dcb788c2182b20973c48806ee498Marek Olšák }, 3527f0fcf17c342dcb788c2182b20973c48806ee498Marek Olšák { 3531c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_XPD, 3541c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "XPD", 3551c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 2, 3561c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 3571c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 3581c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 3591c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_TEX, 3601c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "TEX", 3611c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasTexture = 1, 3621c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 3631c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 3641c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 3651c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 3661c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_TXB, 3671c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "TXB", 3681c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasTexture = 1, 3691c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 3701c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 3711c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 3721c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 3731c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_TXD, 3741c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "TXD", 3751c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasTexture = 1, 3761c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 3, 3771c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 3781c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 3791c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 3801c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_TXL, 3811c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "TXL", 3821c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasTexture = 1, 3831c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 3841c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 3851c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 3861c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 3871c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_TXP, 3881c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "TXP", 3891c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasTexture = 1, 3901c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1, 3911c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 3921c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 3931c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 3941c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_IF, 3951c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "IF", 3961c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsFlowControl = 1, 3971c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 1 3981c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 3991c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 4001c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_ELSE, 4011c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "ELSE", 4021c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsFlowControl = 1, 4031c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 0 4041c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 4051c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 4061c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_ENDIF, 4071c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "ENDIF", 4081c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsFlowControl = 1, 4091c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 0 4101c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 4111c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 4121c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_BGNLOOP, 4131c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "BGNLOOP", 4141c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsFlowControl = 1, 4151c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 0 4161c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 4171c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 4181c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_BRK, 4191c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "BRK", 4201c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsFlowControl = 1, 4211c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 0 4221c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 4231c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 4241c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_ENDLOOP, 4251c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "ENDLOOP", 4261c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsFlowControl = 1, 4271c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 0, 4281c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 4291c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 4301c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_CONT, 4311c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "CONT", 4321c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .IsFlowControl = 1, 4331c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .NumSrcRegs = 0 4341c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 4351c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 4361c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_REPL_ALPHA, 4371c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "REPL_ALPHA", 4381c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .HasDstReg = 1 4391c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 4401c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 4411c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_BEGIN_TEX, 4421c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "BEGIN_TEX" 4431c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák }, 4441c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák { 4451c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Opcode = RC_OPCODE_KILP, 4461c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák .Name = "KILP", 447b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard }, 448b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard { 449b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Opcode = RC_ME_PRED_SEQ, 450b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Name = "ME_PRED_SEQ", 451b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .NumSrcRegs = 1, 452b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .HasDstReg = 1 453b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard }, 454b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard { 455b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Opcode = RC_ME_PRED_SGT, 456b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Name = "ME_PRED_SGT", 457b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .NumSrcRegs = 1, 458b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .HasDstReg = 1 459b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard }, 460b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard { 461b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Opcode = RC_ME_PRED_SGE, 462b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Name = "ME_PRED_SGE", 463b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .NumSrcRegs = 1, 464b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .HasDstReg = 1 465b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard }, 466b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard { 467b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Opcode = RC_ME_PRED_SNEQ, 468b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Name = "ME_PRED_SNEQ", 469b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .NumSrcRegs = 1, 470b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .HasDstReg = 1 471b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard }, 472b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard { 473b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Opcode = RC_ME_PRED_SET_CLR, 474b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Name = "ME_PRED_SET_CLEAR", 475b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .NumSrcRegs = 1, 476b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .HasDstReg = 1 477b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard }, 478b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard { 479b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Opcode = RC_ME_PRED_SET_INV, 480b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Name = "ME_PRED_SET_INV", 481b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .NumSrcRegs = 1, 482b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .HasDstReg = 1 483b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard }, 484b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard { 485b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Opcode = RC_ME_PRED_SET_POP, 486b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Name = "ME_PRED_SET_POP", 487b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .NumSrcRegs = 1, 488b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .HasDstReg = 1 489b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard }, 490b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard { 491b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Opcode = RC_ME_PRED_SET_RESTORE, 492b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Name = "ME_PRED_SET_RESTORE", 493b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .NumSrcRegs = 1, 494b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .HasDstReg = 1 495b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard }, 496b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard { 497b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Opcode = RC_VE_PRED_SEQ_PUSH, 498b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Name = "VE_PRED_SEQ_PUSH", 499b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .NumSrcRegs = 2, 500b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .HasDstReg = 1 501b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard }, 502b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard { 503b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Opcode = RC_VE_PRED_SGT_PUSH, 504b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Name = "VE_PRED_SGT_PUSH", 505b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .NumSrcRegs = 2, 506b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .HasDstReg = 1 507b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard }, 508b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard { 509b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Opcode = RC_VE_PRED_SGE_PUSH, 510b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Name = "VE_PRED_SGE_PUSH", 511b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .NumSrcRegs = 2, 512b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .HasDstReg = 1 513b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard }, 514b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard { 515b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Opcode = RC_VE_PRED_SNEQ_PUSH, 516b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .Name = "VE_PRED_SNEQ_PUSH", 517b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .NumSrcRegs = 2, 518b2df031a959f36743527b9abc89913ce4f895de3Tom Stellard .HasDstReg = 1 5191c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák } 5201c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák}; 5211c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák 5221c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšákvoid rc_compute_sources_for_writemask( 5231c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák const struct rc_instruction *inst, 5241c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák unsigned int writemask, 5251c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák unsigned int *srcmasks) 5261c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák{ 5271c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák const struct rc_opcode_info * opcode = rc_get_opcode_info(inst->U.I.Opcode); 5281c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] = 0; 5291c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[1] = 0; 5301c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[2] = 0; 5311c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák 5321c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák if (opcode->Opcode == RC_OPCODE_KIL) 5331c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_XYZW; 5341c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák else if (opcode->Opcode == RC_OPCODE_IF) 5351c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_X; 5361c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák 5371c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák if (!writemask) 5381c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák return; 5391c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák 5401c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák if (opcode->IsComponentwise) { 5411c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák for(unsigned int src = 0; src < opcode->NumSrcRegs; ++src) 5421c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[src] |= writemask; 5431c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák } else if (opcode->IsStandardScalar) { 5441c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák for(unsigned int src = 0; src < opcode->NumSrcRegs; ++src) 545b5ecf5ba466c3e1872dc9281b01f4e59ca1a388bTom Stellard srcmasks[src] |= writemask; 5461c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák } else { 5471c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák switch(opcode->Opcode) { 5481c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_ARL: 5491c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_X; 5501c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 5511c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_DP2: 5521c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_XY; 5531c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[1] |= RC_MASK_XY; 5541c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 5551c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_DP3: 5561c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_XPD: 5571c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_XYZ; 5581c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[1] |= RC_MASK_XYZ; 5591c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 5601c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_DP4: 5611c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_XYZW; 5621c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[1] |= RC_MASK_XYZW; 5631c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 5641c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_DPH: 5651c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_XYZ; 5661c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[1] |= RC_MASK_XYZW; 5671c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 5681c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_TXB: 5691c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_TXP: 5701c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_TXL: 5711c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_W; 5721c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák /* Fall through */ 5731c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_TEX: 5741c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák switch (inst->U.I.TexSrcTarget) { 5751c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_TEXTURE_1D: 5761c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_X; 5771c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 5781c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_TEXTURE_2D: 5791c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_TEXTURE_RECT: 5801c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_TEXTURE_1D_ARRAY: 5811c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_XY; 5821c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 5831c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_TEXTURE_3D: 5841c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_TEXTURE_CUBE: 5851c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_TEXTURE_2D_ARRAY: 5861c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_XYZ; 5871c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 5881c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák } 5891c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 5901c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_TXD: 5911c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák switch (inst->U.I.TexSrcTarget) { 5921c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_TEXTURE_1D_ARRAY: 5931c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_Y; 5941c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák /* Fall through. */ 5951c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_TEXTURE_1D: 5961c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_X; 5971c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[1] |= RC_MASK_X; 5981c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[2] |= RC_MASK_X; 5991c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 6001c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_TEXTURE_2D_ARRAY: 6011c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_Z; 6021c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák /* Fall through. */ 6031c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_TEXTURE_2D: 6041c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_TEXTURE_RECT: 6051c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_XY; 6061c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[1] |= RC_MASK_XY; 6071c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[2] |= RC_MASK_XY; 6081c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 6091c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_TEXTURE_3D: 6101c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_TEXTURE_CUBE: 6111c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_XYZ; 6121c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[1] |= RC_MASK_XYZ; 6131c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[2] |= RC_MASK_XYZ; 6141c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 6151c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák } 6161c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 6171c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_DST: 6181c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_Y | RC_MASK_Z; 6191c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[1] |= RC_MASK_Y | RC_MASK_W; 6201c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 6211c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_EXP: 6221c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_LOG: 6231c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_XY; 6241c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 6251c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák case RC_OPCODE_LIT: 6261c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák srcmasks[0] |= RC_MASK_X | RC_MASK_Y | RC_MASK_W; 6271c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 6281c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák default: 6291c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák break; 6301c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák } 6311c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák } 6321c2c4ddbd1e97bfd13430521e5c09cb5ce8e36e6Marek Olšák} 633