Just working out ideas here.  This is so we can work out the set of
operations available.







// Operations / opcodes
enum {
    ADD, SUB, MULU, MULS, AND, OR, XOR, FPADD, FPMUL, CMP, FPCMP,
    SHL, ASR, LSR,
    JSR, JMP, JCC};


// A "decoded" instruction
struct Instruction {
    unsigned char opcode;
    unsigned char rs, rd, rt;
    int immed;
    // We'll put a function pointer here eventually
};


// A shader engine vertical pipeline, functional model
class Pipeline {
public:
    Instruction *program;
    int PC;
    int regfile[256];

    Pipeline();
    ~Pipeline();

    void advanceClock();  // Execute another instruction
};




-- 
Timothy Normand Miller
http://www.cse.ohio-state.edu/~millerti
Open Graphics Project
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to