public DxbcSource(ShaderDataReader datareader, int sourceId) : base(datareader, sourceId) { this.offset = datareader.ReadInt32(); if (offset > 0) { sourcebytes = datareader.ReadBytes(offset); } editorRefId = datareader.ReadBytes(16); }
public VulkanSource(ShaderDataReader datareader, int sourceId) : base(datareader, sourceId) { this.offset = datareader.ReadInt32(); if (offset > 0) { this.arg0 = datareader.ReadInt32(); this.offset2 = datareader.ReadInt32(); sourcebytes = datareader.ReadBytes(offset - 8); } editorRefId = datareader.ReadBytes(16); }
public GlslSource(ShaderDataReader datareader, int sourceId) : base(datareader, sourceId) { offset = datareader.ReadInt32(); if (offset > 0) { arg0 = datareader.ReadInt32(); offset2 = datareader.ReadInt32(); sourcebytes = datareader.ReadBytes(offset2 - 1); // -1 because the sourcebytes are null-term datareader.BaseStream.Position += 1; } editorRefId = datareader.ReadBytes(16); }
public DxilSource(ShaderDataReader datareader, int sourceId) : base(datareader, sourceId) { offset = datareader.ReadInt32(); if (offset > 0) { arg0 = datareader.ReadInt16(); arg1 = (int)datareader.ReadUInt16(); uint dxilDelim = datareader.ReadUInt16(); if (dxilDelim != 0xFFFE) { throw new ShaderParserException($"Unexpected DXIL source id {dxilDelim:x08}"); } headerBytes = (int)datareader.ReadUInt16() * 4; // size is given as a 4-byte count sourcebytes = datareader.ReadBytes(offset - 8); // size of source equals offset-8 } editorRefId = datareader.ReadBytes(16); }
public ZDataBlock(ShaderDataReader datareader, int blockId) : base(datareader) { this.blockId = blockId; h0 = datareader.ReadInt32(); h1 = datareader.ReadInt32(); h2 = datareader.ReadInt32(); if (h0 > 0) { dataload = datareader.ReadBytes(h0 * 4); } }