get mov working
authorZack Rusin <zack@tungstengraphics.com>
Wed, 13 Feb 2008 05:48:08 +0000 (00:48 -0500)
committerZack Rusin <zack@tungstengraphics.com>
Wed, 13 Feb 2008 05:48:08 +0000 (00:48 -0500)
src/mesa/pipe/llvm/gallivm.cpp
src/mesa/pipe/llvm/gallivm_cpu.cpp
src/mesa/pipe/llvm/storagesoa.cpp
src/mesa/pipe/llvm/tgsitollvm.cpp

index ab13be091516819195dc643c1d980ee941c1d2cc..da0105c2c98b6747e2d7b95b955f21aabde078a6 100644 (file)
@@ -318,6 +318,9 @@ struct gallivm_prog * gallivm_ir_compile(struct gallivm_ir *ir)
    passes.run(*mod);
    prog->module = mod;
 
+   std::cout << "After optimizations:"<<std::endl;
+   mod->dump();
+
    return prog;
 }
 
index 5f1268bf4f80cdb7d3d17f99c6263c8b541faf13..011cba55c23406bef937c5128b87dc18d2e6bdf2 100644 (file)
@@ -105,10 +105,10 @@ static inline llvm::Function *func_for_shader(struct gallivm_prog *prog)
 
    switch (prog->type) {
    case GALLIVM_VS:
-      func = mod->getFunction("run_vertex_shader");
+      func = mod->getFunction("vs_shader");
       break;
    case GALLIVM_FS:
-      func = mod->getFunction("run_fragment_shader");
+      func = mod->getFunction("fs_shader");
       break;
    default:
       assert(!"Unknown shader type!");
index 786511204a3ff2775d912582fad507995bdaf28d..ef14e29bfed23cdbbfe373f486014e204e84f885 100644 (file)
@@ -68,9 +68,9 @@ std::vector<llvm::Value*> StorageSoa::inputElement(int idx, int swizzle,
    std::vector<llvm::Value*> res(4);
 
    res[0] = element(m_input, idx, 0);
-   res[1] = element(m_input, idx, 0);
-   res[2] = element(m_input, idx, 0);
-   res[3] = element(m_input, idx, 0);
+   res[1] = element(m_input, idx, 1);
+   res[2] = element(m_input, idx, 2);
+   res[3] = element(m_input, idx, 3);
 
    return res;
 }
@@ -89,9 +89,9 @@ std::vector<llvm::Value*> StorageSoa::outputElement(int idx, int swizzle,
    std::vector<llvm::Value*> res(4);
 
    res[0] = element(m_output, idx, 0);
-   res[1] = element(m_output, idx, 0);
-   res[2] = element(m_output, idx, 0);
-   res[3] = element(m_output, idx, 0);
+   res[1] = element(m_output, idx, 1);
+   res[2] = element(m_output, idx, 2);
+   res[3] = element(m_output, idx, 3);
 
    return res;
 }
index d4e9a21a1393426b1999f264a0f286befe19b065..070c9a67f3c1725975f2f68c7516ca2fce2f90d8 100644 (file)
@@ -1149,7 +1149,7 @@ llvm::Module * tgsi_to_llvmir(struct gallivm_ir *ir,
    } else {
       stream << "fs_shader";
    }
-   stream << ir->id;
+   //stream << ir->id;
    std::string func_name = stream.str();
    Function *shader = llvm::cast<Function>(mod->getOrInsertFunction(
                                               func_name.c_str(),