running 1 test test asm::float24::tests::f24_from_full_2s ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 36 filtered out; finished in 0.00s running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s running 3 tests test picasso_roundtrips::picasso_roundtrip_full_dash_shader ... ok test all_programs_compile::full_dash_shader_shouldnt_typecheck_false ... ok test picasso_conformance::picasso_conformance_full_dash_shader ... FAILED failures: ---- picasso_conformance::picasso_conformance_full_dash_shader stdout ---- Shbin { dvlp: Dvlp { _mversion: 0, compiled_blob: ShaderBlob( OffsetTable { data: [ Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Scratch, index: 0, }, src1: Register { kind: Input, index: 0, }, relative_offset: 0, desc: 0, }, }, Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Scratch, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 95, }, relative_offset: 0, desc: 1, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 0, }, src2: Register { kind: Scratch, index: 0, }, relative_offset: 0, desc: 2, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 1, }, src2: Register { kind: Scratch, index: 0, }, relative_offset: 0, desc: 3, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 2, }, src2: Register { kind: Scratch, index: 0, }, relative_offset: 0, desc: 4, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 3, }, src2: Register { kind: Scratch, index: 0, }, relative_offset: 0, desc: 5, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 4, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, desc: 2, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 5, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, desc: 3, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 6, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, desc: 4, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 7, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, desc: 5, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Output, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 8, }, src2: Register { kind: Scratch, index: 2, }, relative_offset: 0, desc: 2, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Output, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 9, }, src2: Register { kind: Scratch, index: 2, }, relative_offset: 0, desc: 3, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Output, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 10, }, src2: Register { kind: Scratch, index: 2, }, relative_offset: 0, desc: 4, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Output, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 11, }, src2: Register { kind: Scratch, index: 2, }, relative_offset: 0, desc: 5, inverse: false, }, }, Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Output, index: 2, }, src1: Register { kind: Input, index: 1, }, relative_offset: 0, desc: 6, }, }, Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 13, }, relative_offset: 0, desc: 6, }, }, Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 12, }, relative_offset: 0, desc: 6, }, }, Instruction { opcode: Mad, operands: Mad { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: Scratch, index: 2, }, src2: Register { kind: FloatingVecUniform, index: 14, }, src3: Register { kind: Scratch, index: 1, }, adx: 0, desc: 6, inverse: false, }, }, Instruction { opcode: Min, operands: TwoArguments { dst: Register { kind: Output, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 95, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, desc: 7, inverse: false, }, }, Instruction { opcode: End, operands: Zero, }, ], }, ), operand_desc_table: OffsetTable { data: [ OperandDescriptor { destination_mask: ComponentMask { w: false, z: true, y: true, x: true, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: true, z: false, y: false, x: false, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: Y, z: Y, y: Y, x: Y, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: false, z: false, y: false, x: true, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: false, z: false, y: true, x: false, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: false, z: true, y: false, x: false, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: true, z: false, y: false, x: false, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: true, z: true, y: true, x: true, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: true, z: true, y: true, x: true, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: Y, z: Y, y: Y, x: Y, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, ], }, rest: [ 0, 0, 0, ], }, dvles: [ ExecutableSection { header: ExecutableSectionHeader { shader_ty: Vertex, merge_vertex_geo: 0, main_offset_words: 0, endmain_offset_words: 20, used_input_registers: IoRegisterBitMask( 0, ), used_output_registers: IoRegisterBitMask( 7, ), geo_shader_type: 0, start_float_register_idx: 0, fully_defined_verts_variable: 0, fully_defined_verts_fixed: 0, }, constant_table: OffsetTable { data: [ Vec4 { register_id: 95, x: 1.0842022e-19, y: 1.0, z: -1.0, w: -0.5, }, ], }, label_table: OffsetTable { data: [], }, output_register_table: OffsetTable { data: [ OutputRegisterEntry { ty: Position, register_id: 0, output_mask: ComponentMask { w: true, z: true, y: true, x: true, }, }, OutputRegisterEntry { ty: Color, register_id: 1, output_mask: ComponentMask { w: true, z: true, y: true, x: true, }, }, OutputRegisterEntry { ty: TexCoord0, register_id: 2, output_mask: ComponentMask { w: true, z: true, y: true, x: true, }, }, ], }, uniform_table: OffsetTable { data: [ UniformTableEntry { symbol_offset: 0, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 0, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 3, }, ), }, UniformTableEntry { symbol_offset: 9, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 4, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 7, }, ), }, UniformTableEntry { symbol_offset: 16, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 8, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 11, }, ), }, UniformTableEntry { symbol_offset: 24, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 12, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 12, }, ), }, UniformTableEntry { symbol_offset: 33, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 13, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 13, }, ), }, UniformTableEntry { symbol_offset: 41, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 14, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 14, }, ), }, UniformTableEntry { symbol_offset: 49, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 15, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 15, }, ), }, UniformTableEntry { symbol_offset: 57, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 16, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 16, }, ), }, ], }, symbol_table: SymbolTable { data: MaxSize( [ NullString("modelMtx"), NullString("camMtx"), NullString("projMtx"), NullString("lightClr"), NullString("mat_emi"), NullString("mat_amb"), NullString("mat_dif"), NullString("mat_spe"), ], ), }, }, ], } Shbin { dvlp: Dvlp { _mversion: 0, compiled_blob: ShaderBlob( OffsetTable { data: [ Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Scratch, index: 0, }, src1: Register { kind: Input, index: 0, }, relative_offset: 0, desc: 0, }, }, Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Scratch, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 95, }, relative_offset: 0, desc: 1, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 0, }, src2: Register { kind: Scratch, index: 0, }, relative_offset: 0, desc: 2, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 1, }, src2: Register { kind: Scratch, index: 0, }, relative_offset: 0, desc: 3, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 2, }, src2: Register { kind: Scratch, index: 0, }, relative_offset: 0, desc: 4, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 3, }, src2: Register { kind: Scratch, index: 0, }, relative_offset: 0, desc: 1, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 4, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, desc: 2, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 5, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, desc: 3, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 6, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, desc: 4, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 7, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, desc: 1, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Output, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 8, }, src2: Register { kind: Scratch, index: 2, }, relative_offset: 0, desc: 2, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Output, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 9, }, src2: Register { kind: Scratch, index: 2, }, relative_offset: 0, desc: 3, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Output, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 10, }, src2: Register { kind: Scratch, index: 2, }, relative_offset: 0, desc: 4, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Output, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 11, }, src2: Register { kind: Scratch, index: 2, }, relative_offset: 0, desc: 1, inverse: false, }, }, Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Output, index: 2, }, src1: Register { kind: Input, index: 1, }, relative_offset: 0, desc: 5, }, }, Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 13, }, relative_offset: 0, desc: 5, }, }, Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 12, }, relative_offset: 0, desc: 5, }, }, Instruction { opcode: Mad, operands: Mad { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: Scratch, index: 2, }, src2: Register { kind: FloatingVecUniform, index: 14, }, src3: Register { kind: Scratch, index: 1, }, adx: 0, desc: 5, inverse: false, }, }, Instruction { opcode: Min, operands: TwoArguments { dst: Register { kind: Output, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 95, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, desc: 5, inverse: false, }, }, Instruction { opcode: End, operands: Zero, }, ], }, ), operand_desc_table: OffsetTable { data: [ OperandDescriptor { destination_mask: ComponentMask { w: false, z: true, y: true, x: true, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: true, z: false, y: false, x: false, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: false, z: false, y: false, x: true, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: false, z: false, y: true, x: false, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: false, z: true, y: false, x: false, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: true, z: true, y: true, x: true, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, }, ], }, rest: [ 0, 0, 0, ], }, dvles: [ ExecutableSection { header: ExecutableSectionHeader { shader_ty: Vertex, merge_vertex_geo: 0, main_offset_words: 0, endmain_offset_words: 20, used_input_registers: IoRegisterBitMask( 0, ), used_output_registers: IoRegisterBitMask( 7, ), geo_shader_type: 0, start_float_register_idx: 0, fully_defined_verts_variable: 0, fully_defined_verts_fixed: 0, }, constant_table: OffsetTable { data: [ Vec4 { register_id: 95, x: 1.0842022e-19, y: 1.0, z: -1.0, w: -0.5, }, ], }, label_table: OffsetTable { data: [], }, output_register_table: OffsetTable { data: [ OutputRegisterEntry { ty: Position, register_id: 0, output_mask: ComponentMask { w: true, z: true, y: true, x: true, }, }, OutputRegisterEntry { ty: Color, register_id: 1, output_mask: ComponentMask { w: true, z: true, y: true, x: true, }, }, OutputRegisterEntry { ty: TexCoord0, register_id: 2, output_mask: ComponentMask { w: true, z: true, y: true, x: true, }, }, ], }, uniform_table: OffsetTable { data: [ UniformTableEntry { symbol_offset: 0, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 0, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 3, }, ), }, UniformTableEntry { symbol_offset: 9, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 4, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 7, }, ), }, UniformTableEntry { symbol_offset: 16, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 8, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 11, }, ), }, UniformTableEntry { symbol_offset: 24, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 12, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 12, }, ), }, UniformTableEntry { symbol_offset: 33, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 13, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 13, }, ), }, UniformTableEntry { symbol_offset: 41, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 14, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 14, }, ), }, UniformTableEntry { symbol_offset: 49, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 15, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 15, }, ), }, UniformTableEntry { symbol_offset: 57, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 16, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 16, }, ), }, ], }, symbol_table: SymbolTable { data: MaxSize( [ NullString("modelMtx"), NullString("camMtx"), NullString("projMtx"), NullString("lightClr"), NullString("mat_emi"), NullString("mat_amb"), NullString("mat_dif"), NullString("mat_spe"), ], ), }, }, ], } thread 'picasso_conformance::picasso_conformance_full_dash_shader' panicked at /home/ash/projects/pica-lsp/target/debug/build/test_cases-329ed372af7511b1/out/picasso_conformance_tests.rs:1:7836: assertion failed: `(left == right)` Diff < left / right > : Shbin { dvlp: Dvlp { _mversion: 0, compiled_blob: ShaderBlob( OffsetTable { data: [ Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Scratch, index: 0, }, src1: Register { kind: Input, index: 0, }, relative_offset: 0, desc: 0, }, }, Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Scratch, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 95, }, relative_offset: 0, desc: 1, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 0, }, src2: Register { kind: Scratch, index: 0, }, relative_offset: 0, desc: 2, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 1, }, src2: Register { kind: Scratch, index: 0, }, relative_offset: 0, desc: 3, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 2, }, src2: Register { kind: Scratch, index: 0, }, relative_offset: 0, desc: 4, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 3, }, src2: Register { kind: Scratch, index: 0, }, relative_offset: 0, < desc: 5, > desc: 1, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 4, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, desc: 2, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 5, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, desc: 3, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 6, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, desc: 4, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 7, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, < desc: 5, > desc: 1, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Output, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 8, }, src2: Register { kind: Scratch, index: 2, }, relative_offset: 0, desc: 2, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Output, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 9, }, src2: Register { kind: Scratch, index: 2, }, relative_offset: 0, desc: 3, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Output, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 10, }, src2: Register { kind: Scratch, index: 2, }, relative_offset: 0, desc: 4, inverse: false, }, }, Instruction { opcode: Dp4, operands: TwoArguments { dst: Register { kind: Output, index: 0, }, src1: Register { kind: FloatingVecUniform, index: 11, }, src2: Register { kind: Scratch, index: 2, }, relative_offset: 0, < desc: 5, > desc: 1, inverse: false, }, }, Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Output, index: 2, }, src1: Register { kind: Input, index: 1, }, relative_offset: 0, < desc: 6, > desc: 5, }, }, Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 13, }, relative_offset: 0, < desc: 6, > desc: 5, }, }, Instruction { opcode: Mov, operands: OneArgument { dst: Register { kind: Scratch, index: 2, }, src1: Register { kind: FloatingVecUniform, index: 12, }, relative_offset: 0, < desc: 6, > desc: 5, }, }, Instruction { opcode: Mad, operands: Mad { dst: Register { kind: Scratch, index: 1, }, src1: Register { kind: Scratch, index: 2, }, src2: Register { kind: FloatingVecUniform, index: 14, }, src3: Register { kind: Scratch, index: 1, }, adx: 0, < desc: 6, > desc: 5, inverse: false, }, }, Instruction { opcode: Min, operands: TwoArguments { dst: Register { kind: Output, index: 1, }, src1: Register { kind: FloatingVecUniform, index: 95, }, src2: Register { kind: Scratch, index: 1, }, relative_offset: 0, < desc: 7, > desc: 5, inverse: false, }, }, Instruction { opcode: End, operands: Zero, }, ], }, ), operand_desc_table: OffsetTable { data: [ OperandDescriptor { destination_mask: ComponentMask { w: false, z: true, y: true, x: true, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: true, z: false, y: false, x: false, }, s1: OperandSource { negate: false, selector: ComponentSelector { < w: Y, < z: Y, > w: W, > z: Z, y: Y, < x: Y, > x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { < w: X, < z: X, < y: X, > w: W, > z: Z, > y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: false, z: false, y: false, x: true, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: false, z: false, y: true, x: false, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: false, z: true, y: false, x: false, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: X, z: X, y: X, x: X, }, }, }, OperandDescriptor { destination_mask: ComponentMask { w: true, < z: false, < y: false, < x: false, < }, < s1: OperandSource { < negate: false, < selector: ComponentSelector { < w: W, < z: Z, < y: Y, < x: X, < }, < }, < s2: OperandSource { < negate: false, < selector: ComponentSelector { < w: W, < z: Z, < y: Y, < x: X, < }, < }, < s3: OperandSource { < negate: false, < selector: ComponentSelector { < w: X, < z: X, < y: X, < x: X, < }, < }, < }, < OperandDescriptor { < destination_mask: ComponentMask { < w: true, z: true, y: true, x: true, }, s1: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s2: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, x: X, }, }, s3: OperandSource { negate: false, selector: ComponentSelector { w: W, z: Z, y: Y, < x: X, < }, < }, < }, < OperandDescriptor { < destination_mask: ComponentMask { < w: true, < z: true, < y: true, < x: true, < }, < s1: OperandSource { < negate: false, < selector: ComponentSelector { < w: Y, < z: Y, < y: Y, < x: Y, < }, < }, < s2: OperandSource { < negate: false, < selector: ComponentSelector { < w: W, < z: Z, < y: Y, < x: X, < }, < }, < s3: OperandSource { < negate: false, < selector: ComponentSelector { < w: X, < z: X, < y: X, x: X, }, }, }, ], }, rest: [ 0, 0, 0, ], }, dvles: [ ExecutableSection { header: ExecutableSectionHeader { shader_ty: Vertex, merge_vertex_geo: 0, main_offset_words: 0, endmain_offset_words: 20, used_input_registers: IoRegisterBitMask( 0, ), used_output_registers: IoRegisterBitMask( 7, ), geo_shader_type: 0, start_float_register_idx: 0, fully_defined_verts_variable: 0, fully_defined_verts_fixed: 0, }, constant_table: OffsetTable { data: [ Vec4 { register_id: 95, x: 1.0842022e-19, y: 1.0, z: -1.0, w: -0.5, }, ], }, label_table: OffsetTable { data: [], }, output_register_table: OffsetTable { data: [ OutputRegisterEntry { ty: Position, register_id: 0, output_mask: ComponentMask { w: true, z: true, y: true, x: true, }, }, OutputRegisterEntry { ty: Color, register_id: 1, output_mask: ComponentMask { w: true, z: true, y: true, x: true, }, }, OutputRegisterEntry { ty: TexCoord0, register_id: 2, output_mask: ComponentMask { w: true, z: true, y: true, x: true, }, }, ], }, uniform_table: OffsetTable { data: [ UniformTableEntry { symbol_offset: 0, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 0, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 3, }, ), }, UniformTableEntry { symbol_offset: 9, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 4, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 7, }, ), }, UniformTableEntry { symbol_offset: 16, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 8, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 11, }, ), }, UniformTableEntry { symbol_offset: 24, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 12, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 12, }, ), }, UniformTableEntry { symbol_offset: 33, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 13, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 13, }, ), }, UniformTableEntry { symbol_offset: 41, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 14, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 14, }, ), }, UniformTableEntry { symbol_offset: 49, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 15, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 15, }, ), }, UniformTableEntry { symbol_offset: 57, start_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 16, }, ), end_register: RegisterIndex( Register { kind: FloatingVecUniform, index: 16, }, ), }, ], }, symbol_table: SymbolTable { data: MaxSize( [ NullString("modelMtx"), NullString("camMtx"), NullString("projMtx"), NullString("lightClr"), NullString("mat_emi"), NullString("mat_amb"), NullString("mat_dif"), NullString("mat_spe"), ], ), }, }, ], } note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace failures: picasso_conformance::picasso_conformance_full_dash_shader test result: FAILED. 2 passed; 1 failed; 0 ignored; 0 measured; 86 filtered out; finished in 0.03s