Lines Matching defs:index
97 // Mem represents a value at base + disp + scale*index,
98 // or simply at base + disp if index=rsp.
103 GP64 index = rsp;
440 M(index) \
474 return Op::store8 <= op && op <= Op::index;
485 // Ptr and UPtr are an index into the registers args[]. The two styles of using args are
582 Op op; // v* = op(x,y,z,w,immA,immB), where * == index of this Instruction.
584 int immA,immB,immC; // Immediate bit pattern, shift count, pointer index, byte offset, etc.
651 I32 index();
665 // Load i32/f32 uniform with byte-count offset and an c-style array index. The address of
666 // the element is (*(ptr + byte-count offset))[index].
667 I32 array32 (UPtr ptr, int offset, int index);
668 F32 arrayF (UPtr ptr, int offset, int index) {
669 return pun_to_F32(array32(ptr, offset, index));
675 // Gather u8,u16,i32 with varying element-count index from *(ptr + byte-count offset).
676 I32 gather8 (UPtr ptr, int offset, I32 index);
677 I32 gather16(UPtr ptr, int offset, I32 index);
678 I32 gather32(UPtr ptr, int offset, I32 index);
679 F32 gatherF (UPtr ptr, int offset, I32 index) {
680 return pun_to_F32(gather32(ptr, offset, index));
686 I32 gather8 (Uniform u, I32 index) { return this->gather8 (u.ptr, u.offset, index); }
687 I32 gather16 (Uniform u, I32 index) { return this->gather16 (u.ptr, u.offset, index); }
688 I32 gather32 (Uniform u, I32 index) { return this->gather32 (u.ptr, u.offset, index); }
689 F32 gatherF (Uniform u, I32 index) { return this->gatherF (u.ptr, u.offset, index); }
692 // array index and not a byte offset. The array pointer is stored at u.
693 I32 array32 (Uniform a, int index) { return this->array32 (a.ptr, a.offset, index); }
694 F32 arrayF (Uniform a, int index) { return this->arrayF (a.ptr, a.offset, index); }
929 Color gather(PixelFormat, UPtr ptr, int offset, I32 index);
930 Color gather(PixelFormat f, Uniform u, I32 index) {
931 return gather(f, u.ptr, u.offset, index);